最佳实践规范
go程序编写规范:
- 首行命名这个文件属于哪个包
- 往下再导入其他包
- 定义常量
- 定义全局变量
- 定义结构
- 定义接口
- 方法体
基本类型
布尔型,bool,只有两个值,true 和 false,长度为一个字节,和 php 不同可以用 0 和 1 来代表。
整形, int/uint ,根据运行平台的不同可能为 32 位 int 或者 64 位 int。
8 位整形( 1 个字节长度), int8/uint8,取值范围在 2 的 8 次方。还有 16 (长度为2个字节),32(4),64()8。其中int32位的别名为 rune
字节型,byte,就是 uint8 的别名。
浮点型, float32/float64。长度为 4/8 字节。
复数类型, complex64/complex128,字节长度为 8/16,这个暂时不清楚概念,还有一个保存指针用的类型 uintptr ,根据运行平台来确定是 32 还是 64 的。
其他值类型,array,struct,string。
引用类型,slice,map,chan。
接口类型,interface
函数类型,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
有疑问加站长微信联系(非本文作者)