27

变量的基本类型与零值 golang

 3 years ago
source link: https://studygolang.com/articles/30452
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
f67zyqi.jpg!mobile

最佳实践规范

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

有疑问加站长微信联系

iiUfA3j.png!mobile

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK