Go的变量定义介于动态语言和编译语言之间,在函数内有些灵活性,但是全局变量显得稍微有点麻烦。
全局变量:
var foo (type) = value
函数内部:
foo := value
常量:
const
令人惊讶的是浮点的小数位可以指定很多很多:
float32,float64
赋值要求强类型,名不同不可赋值
关于Go的数据存储 http://research.swtch.com/godata
注意到其中出现了byte数组、指针。
大写字母开头的变量是公有变量,可用于其他包。
大写字母开头的函数相当于public。
array
长度初始化时确定,但是只能值传递。
slice
动态数组,引用类型。
map
字典,引用类型。
make 和 new用于内存分配。
new就是new
make只用于slice,map和channel的初始化