黄宽的blog

宁可十年不将军,不可一日不拱卒



变量的基本类型与零值

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

作者  :  黄宽

不耻最后,即使慢,驰而不息,纵会落后,纵令失败



About ME

about me

黄宽

我不想成为一个庸俗的人。十年百年后,当我们死去,质疑我们的人同样死去,后人看到的是裹足不前、原地打转的你,还是一直奔跑、走到远方的我?

友情链接