变量的基本类型与零值 golang

与子笑 · · 386 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

最佳实践规范

go程序编写规范:

  1. 首行命名这个文件属于哪个包
  2. 往下再导入其他包
  3. 定义常量
  4. 定义全局变量
  5. 定义结构
  6. 定义接口
  7. 方法体

基本类型

  1. 布尔型,bool,只有两个值,true 和 false,长度为一个字节,和 php 不同可以用 0 和 1 来代表。

  2. 整形, int/uint ,根据运行平台的不同可能为 32 位 int 或者 64 位 int。

  3. 8 位整形( 1 个字节长度), int8/uint8,取值范围在 2 的 8 次方。还有 16 (长度为2个字节),32(4),64()8。其中int32位的别名为 rune

  4. 字节型,byte,就是 uint8 的别名。

  5. 浮点型, float32/float64。长度为 4/8 字节。

  6. 复数类型, complex64/complex128,字节长度为 8/16,这个暂时不清楚概念,还有一个保存指针用的类型 uintptr ,根据运行平台来确定是 32 还是 64 的。

  7. 其他值类型,array,struct,string。

  8. 引用类型,slice,map,chan。

  9. 接口类型,interface

  10. 函数类型,func

以上是 golang 中的基本类型,有很多类型只了解了基本概念,还不知道怎么在实际编码中怎么去使用在什么场景中使用。

类型的零值,当一个类型声明了但是并没有赋值,会有一个相对应的默认值给这个类型。

对于包的引入,一定要用双引号,变量的字符串声明也要用双引号包起来,不然程序运行会报错。

var 声明变量,var 变量名 类型=值或函数,变量名真的可以是中文,再也不怕词穷不知道起变量名了,当然,能用英文是最好的了。

在声明变量的同时也可以不用声明类型,系统会自动推断,在能够确定类型的情况最好还是写上去。

也可以不用 var 关键字只要在等号左边加上一个 : 冒号就可以了,但我也不喜欢这样做,我希望一切都是显式的

变量组,在全局可以使用 var()括号里面写变量,在方法体里面需要使用并行变量声明
例如 var a,b,c int =1,2,3

空白符,var a,_,c int = 1,2,3,在这里2这个值就被忽略了。
还有一种赋值方法 a:=1,这种赋值方法省略了 var 关键字与类型,这种方法在以后说是会用很大的用处。

类型转换,go 当中的所有类型转换必须是显式转换,同类型转换,比如 int 可以和浮点互换,
var a =1.1 b:= int(a),将ab打印出来是1.1和1。

还可以将 int 转为 string,打印出来就不一样了。下一博文写为什么不一样和常量运算符

原文链接:变量的基本类型与零值-GOLANG


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:与子笑

查看原文:变量的基本类型与零值 golang

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

386 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传