当前位置: 首页 > 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

http://www.lryc.cn/news/115507.html

相关文章:

  • 关于ETL的两种架构(ETL架构和ELT架构) qt
  • 【Linux】进程间通信——管道
  • Element-plus中tooltip 提示框修改宽度——解决方案
  • java实现当前系统时间格式化
  • 篇十一:享元模式:共享细粒度对象
  • Dev控件 Gridcontrol,gridview 实现多选功能
  • 内网穿透:如何通过公网访问本地Web服务器?
  • 在qemu中挂载镜像文件
  • 报错注入(主键重复)攻击原理
  • Golang基础教程
  • ppt压缩文件怎么压缩最小?文件压缩技巧分享
  • 实例033 制作闪烁的窗体
  • 【JavaEE进阶】Spring创建与使用
  • PHP8的循环控制语句-PHP8知识详解
  • 第八次作业
  • LeetCode //C - 290. Word Pattern
  • [保研/考研机试] 括号匹配问题 C++实现
  • springBoot集成caffeine,自定义缓存配置 CacheManager
  • 【瑞吉外卖】Git部分学习
  • 如何阐述自己做了一个什么样的东西
  • TC3XX - MCAL知识点(二十二):QSPI 同步与异步 Mcal配置及代码实战
  • led台灯哪些牌子性价比高?推荐几款性价比高的护眼台灯
  • 什么情况下容易发生锁表及如何处理
  • elk开启组件监控
  • Java Random 类的使用
  • 完美的分布式监控系统——Prometheus(普罗米修斯)与优雅的开源可视化平台——Grafana(格鲁夫娜)
  • pycharm的Terminal中如何设置打开anaconda3的虚拟环境
  • Jmeter(四) - 从入门到精通 - 创建网络测试计划(详解教程)
  • Flowable-结束事件-空结束事件
  • Elasticsearch:如何创建 Elasticsearch PEM 和/或 P12 证书?