当前位置: 首页 > news >正文

【Go语言】Golang保姆级入门教程 Go初学者chapter2

【Go语言】变量

VSCode插件

setting的首选项

一个程序就是一个世界 变量是程序的基本组成单位

变量的使用步骤

image-20230726152840172

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zuxG8imp-1691479164956)(https://cdn.staticaly.com/gh/hudiework/img@main/image-20230726152905139.png)]

变量使用的注意事项

  1. 变量表示内存中的一个存储区

    Golang变量使用的三种方式
    1) 指定变量类型,申明后如果不赋值,使用默认值
    2)根据值自行判断变量类型(类型推导)
    3)省略var := 左侧的变量不应该是声明过得 否则会导致编译错误
    

注意: := 这种方式仅支持局部变量

var太麻烦了 var( XXX)全局变量

  1. 该区域的数据值可以在同一类型范围内不断变化
  2. 变量同一作用域不能重名
  3. 变量 = 变量名 + 值 + 数据类型
  4. Golang变量无初值 会有默认值

字符串做加法运算 是拼接

image-20230726162335576

整数的使用细节

fmt.Printf

image-20230727151305772

image-20230727151443656

Golang整型变量保小不保大的原则 保证程序正确运行下 尽量使用占用空间小的数据类型

小数浮点型

image-20230727152801339

image-20230727152835113

尾数部分有可能丢失 这样的话会造成精度损失

image-20230727153300566

Golang的浮点型默认声明为float64 类型

image-20230727154332878

科学计数法小写的e 和大写的E是相同的一种表示 通常情况下应该使用float64 因为它比float32 更精确

开发中常用的数据类型是float64

字符类型

byte 0-255 字符串就是遗传固定长度的字符连接起来的字符序列

Golang中反引号 可以输出 一长串变量

image-20230730143914456

如果一个字符串特别长的话 可以直接将加号 放在一句话的后面 下一行在加字符串

零值 默认是false “”

image-20230803131807262

image-20230803131831523

数据转换

Go和java\C不同 因为Go在不同的类型需要显示转换

image-20230803133544694

不管是低精度 朝向高精度 还是高精度朝向低精度 都是一样需要数据转换的 也就是说 Go语言里面全部都是强制转换

注意: 被转换的变量修改之后 转换的是变量的值 并不是原来的对象 可以通过%T 输出原来对象的类型确认只更改变量的值

转换的时候溢出的话 输出的值按照截取的二进制处理

超越变量本身的编译范围 会直接报错 但是如果未超过变量本身的编译范围 编译不报错 但是运行的话是溢出的

如果没用到import里面的包 那么可以使用_ 忽略掉他

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bJgcWkd4-1691479164958)(https://cdn.staticaly.com/gh/hudiework/img@main/image-20230803145123188.png)]

image-20230804115533139

基本数据类型 转换成字符串是直接输出类型格式变为%q 即可

image-20230805093236779

String 转换到基本类型:

Go语言在转换的时候都会使用函数

使用 strconv.ParseInt等方法

image-20230805093409239

image-20230805093813228

image-20230805094333062

image-20230808151022148

image-20230808151403281

image-20230808151544956

相关文章:

【Go语言】Golang保姆级入门教程 Go初学者chapter2

【Go语言】变量 VSCode插件 setting的首选项 一个程序就是一个世界 变量是程序的基本组成单位 变量的使用步骤 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zuxG8imp-1691479164956)(https://cdn.staticaly.com/gh/hudiework/imgmain/image-20…...

关于ETL的两种架构(ETL架构和ELT架构) qt

ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库&#xf…...

【Linux】进程间通信——管道

目录 写在前面的话 什么是进程间通信 为什么要进行进程间通信 进程间通信的本质理解 进程间通信的方式 管道 System V IPC POSIX IPC 管道 什么是管道 匿名管道 什么是匿名管道 匿名管道通信的原理 pipe()的使用 匿名管道通信的特点 拓展代码 命名管道 什么是命…...

Element-plus中tooltip 提示框修改宽度——解决方案

tooltip 提示框修改宽度方法&#xff1a; 在element中&#xff0c;想要设置表格的内容&#xff0c;超出部分隐藏&#xff0c;鼠标悬浮提示 可以在el-table 上添加show-overflow-tooltip属性 同时可以通过tooltip-options配置提示信息 如下图代码 <el-tableshow-overflo…...

java实现当前系统时间格式化

import java.text.SimpleDateFormat; import java.util.Date;public class DateTest {public static void main(String[] args) {Date date new Date();System.out.println("当前系统时间&#xff1a;" date);SimpleDateFormat simpleDateFormat new SimpleDateFo…...

篇十一:享元模式:共享细粒度对象

篇十一&#xff1a;“享元模式&#xff1a;共享细粒度对象” 设计模式是软件开发中的重要工具&#xff0c;享元模式&#xff08;Flyweight Pattern&#xff09;是结构型设计模式的一种。享元模式旨在通过共享细粒度的对象&#xff0c;减少内存消耗和提高性能。在设计模式学习中…...

Dev控件 Gridcontrol,gridview 实现多选功能

在网上看了好多实现dev控件GridControl多选功能的方法&#xff0c;都很麻烦&#xff0c;其实GridControl有一个自带的实现多选功能的控件&#xff0c;很简单。 实现效果如下 无需代码代码&#xff0c;使用GridControl中自带的多选功能&#xff0c;在界面直接设置即可 1.找到要…...

内网穿透:如何通过公网访问本地Web服务器?

文章目录 前言1. 首先安装PHPStudy2.下载一个开源的网页文件3. 选择“创建网站”并将网页内容指向下载好的开源网页文件4. 打开本地网页5. 打开本地cpolar客户端6. 保存隧道设置 生成数据隧道 前言 随着科技进步和时代发展&#xff0c;计算机及互联网已经深深融入我们的生活和…...

在qemu中挂载镜像文件

将镜像文件作为交换分区 创建镜像文件&#xff1a; dd if/dev/zero ofswap.img bs512 count131072 qemu-system-arm -nographic -M vexpress-a9 -m 64M -kernel arch/arm/boot/zImage -append "rdinit/linuxrc consolettyAMA0 loglevel8" -dtb arch/arm/boot/dts/…...

报错注入(主键重复)攻击原理

基本原理 利用数据表中主键不能重复的特点&#xff0c;通过构造重复的主键&#xff0c;使得数据库报错&#xff0c;并将报错结果返回到前端。 SQL说明函数 以pet数据表为例进行说明 rond(): 返回[0,1)区间内的任意浮点数。 count(): 返回每个组的列行数。 如&#xff0…...

Golang基础教程

Golang基础教程 golang简介安装golanggolang开发工具go常用命令golang开发 vscode快捷键如何编写golang代码golang标识符、关键字、命名规则golang变量go语言常量go语言数据类型go语言布尔类型go语言数字类型golang字符串golang格式化输出golang运算符go语言中的流程控制golan…...

ppt压缩文件怎么压缩最小?文件压缩技巧分享

在日常的工作和学习中&#xff0c;难免会遇到PPT太大&#xff0c;需要将其压缩变小的情况&#xff0c;但很多朋友还不知道怎么压缩PPT文件&#xff0c;下面就给大家分享几个简单的方法&#xff0c;分分钟缩小过大的PPT文件。 一、PowerPoint PowerPoint就是微软公司的演示文稿…...

实例033 制作闪烁的窗体

实例说明 Windows系统中&#xff0c;当程序在后台运行时&#xff0c;如果某个窗口的提示信息需要用户浏览&#xff0c;该窗口就会不停的闪烁&#xff0c;这样就会吸引用户的注意。同样&#xff0c;如果在自己的程序中使某个窗口不停的闪烁就会吸引用户的注意。本例设计了一个闪…...

【JavaEE进阶】Spring创建与使用

文章目录 一. 创建 Spring 项目1.1 创建一个Maven项目1.2 添加Spring依赖1.4. 创建一个启动类 二. 将 Bean 对象存放至 Spring 容器中三. 从 Spring 容器中读取到 Bean1. 得到Spring对象2. 通过Spring 对象getBean方法获取到 Bean对象【DI操作】 一. 创建 Spring 项目 接下来使…...

PHP8的循环控制语句-PHP8知识详解

我们在上一节讲的是条件控制语句&#xff0c;本节课程我们讲解循环控制语句。循环控制语句中&#xff0c;主要有for循环、while循环、do...while循环和foreach循环。 在编写代码时&#xff0c;经常需要反复运行同一代码块。我们可以使用循环来执行这样的任务&#xff0c;而不是…...

第八次作业

一&#xff0c;.什么是数据认证&#xff0c;有什么作用&#xff0c;有哪些实现的技术手段? 数据认证是指保证数据的真实性、完整性和可信度&#xff0c;以确保数据不被篡改或伪造。其作用包括但不限于&#xff1a; 保护关键数据不被恶意篡改或损坏 提供数据来源的可靠性和安全…...

LeetCode //C - 290. Word Pattern

290. Word Pattern Given a pattern and a string s, find if s follows the same pattern. Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in s. Example 1: Input: pattern “abba”, s “dog c…...

[保研/考研机试] 括号匹配问题 C++实现

题目描述&#xff1a; 在某个字符串(长度不超过100)中有左括号、右括号和大小写字母&#xff1b;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。写一个程序&#xff0c;找到无法匹配的左括号和右括号&#xff0c;输出原来的字符串&am…...

springBoot集成caffeine,自定义缓存配置 CacheManager

目录 springboot集成caffeine Maven依赖 配置信息&#xff1a;properties文件 config配置 使用案例 Caffeine定制化配置多个cachemanager springboot集成redis并且定制化配置cachemanager springboot集成caffeine Caffeine是一种基于服务器内存的缓存库。它将数据存储在…...

【瑞吉外卖】Git部分学习

Git简介 Git是一个分布式版本控制工具&#xff0c;通常用来对软件开发过程中的源代码文件进行管理。通过Git仓库来存储和管理这些文件&#xff0c;Git仓库分为两种&#xff1a; 本地仓库&#xff1a;开发人员自己电脑上的Git仓库 远程仓库&#xff1a;远程服务器上的Git仓库…...

乙巳马年春联生成终端操作界面美化:Web前端开发技巧分享

乙巳马年春联生成终端操作界面美化&#xff1a;Web前端开发技巧分享 每次看到那些功能强大但界面简陋的工具&#xff0c;我总在想&#xff0c;如果能给它换上一身漂亮的“衣服”&#xff0c;用起来该多舒服。最近&#xff0c;我就把一个简单的春联生成API调用页面&#xff0c;…...

效率提升利器:快马一键生成极域电子教室自动化部署与校验脚本

效率提升利器&#xff1a;快马一键生成极域电子教室自动化部署与校验脚本 在IT运维和软件测试工作中&#xff0c;批量部署软件是再常见不过的任务了。就拿极域电子教室来说&#xff0c;每次新版本发布或者需要大规模安装时&#xff0c;手动操作不仅耗时耗力&#xff0c;还容易…...

WorkshopDL:跨平台Steam创意工坊下载解决方案技术解析

WorkshopDL&#xff1a;跨平台Steam创意工坊下载解决方案技术解析 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 功能价值&#xff1a;跨平台模组管理的核心优势 WorkshopDL作…...

6、深入解析transforms.RandomAffine():参数详解与实战应用

1. 什么是RandomAffine变换&#xff1f; RandomAffine是PyTorch中torchvision.transforms模块提供的一个非常实用的图像增强方法。简单来说&#xff0c;它能够对图像进行一系列随机的仿射变换操作。你可能要问&#xff1a;什么是仿射变换&#xff1f;其实它就是我们日常生活中常…...

别再写面条代码了!用STM32CubeMX实战单片机分层架构(附完整项目源码)

从面条代码到工程级架构&#xff1a;STM32CubeMX分层实战指南 当你第一次用STM32CubeMX生成代码时&#xff0c;那种一键配置外设的畅快感令人上瘾。但三个月后打开项目&#xff0c;面对main.c里2000行的超级函数和全局变量乱飞的局面&#xff0c;连自己都看不懂当初写的什么——…...

深度解析notion-enhancer组件化架构:从UI扩展到底层实现的设计模式

深度解析notion-enhancer组件化架构&#xff1a;从UI扩展到底层实现的设计模式 【免费下载链接】notion-enhancer An enhancer/customiser for the all-in-one productivity workspace Notion 项目地址: https://gitcode.com/gh_mirrors/no/notion-enhancer Notion作为现…...

揭秘书匠策AI:论文写作的未来式导航助手 —— 你的毕业论文智囊团

在学术的浩瀚海洋中&#xff0c;每一位即将扬帆远航的毕业生都面临着同样的挑战——如何撰写一篇高质量、有深度的毕业论文&#xff1f;这不仅仅是对知识的综合运用&#xff0c;更是对思维逻辑、创新能力的全面考验。幸运的是&#xff0c;随着人工智能技术的飞速发展&#xff0…...

5分钟快速上手:解锁付费内容的终极指南

5分钟快速上手&#xff1a;解锁付费内容的终极指南 【免费下载链接】bypass-paywalls-chrome-clean 项目地址: https://gitcode.com/GitHub_Trending/by/bypass-paywalls-chrome-clean 在信息时代&#xff0c;优质内容常常被付费墙阻隔&#xff0c;但今天我要为你介绍一…...

EF Core 拦截器实战:SaveChangesInterceptor、CommandInterceptor 与审计落地

一、背景与问题缘起 MySQL 5.6.51 版本下 2000 万行核心业务表开展新增字段操作&#xff0c;需求为新增BIGINT(19) NOT NULL DEFAULT 0 COMMENT 注释&#xff08;因业务实际需要存储大数值关联字段&#xff09;。 表的核心特性为Java 多线程密集读写&#xff0c;业务请求持续高…...

为什么Scarab模组管理器能让空洞骑士的模组安装变得如此简单?

为什么Scarab模组管理器能让空洞骑士的模组安装变得如此简单&#xff1f; 【免费下载链接】Scarab An installer for Hollow Knight mods written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/sc/Scarab 还在为《空洞骑士》模组安装的复杂流程而头疼吗&…...