艰难入门golang ing….
var a int
:=
a, b, c, s := 3, 4, true, "abc"
var (
a int
b bool
str string
)
变量的命名规则遵循骆驼命名法,即首个单词小写,每个新单词的首字母大写,例如:numShips
和 startDate
。
但如果你的全局变量希望能够被外部包所使用,则需要将首个单词的首字母也大写
有约定的话,在代码的可读性会更好。毕竟代码是给人读的。
当一个变量被声明之后,系统自动赋予它该类型的零值:int 为 0,float 为 0.0,bool 为 false,string 为空字符串,指针为 nil。
记住,所有的内存在 Go 中都是经过初始化的。
这跟python中有什么不同?
Go 编译器的智商已经高到可以根据变量的值来自动推断其类型,这有点像 Ruby 和 Python 这类动态语言,只不过它们是在运行时进行推断,而 Go 是在编译时就已经完成推断过程。
C语言: int* a, b;
只有 a 是指针而 b 不是
Go中: 可以轻松地将它们都声明为指针类型 var a, b *int
var a int
var b bool
var str string
有点像英语和中文的区别:如果写成
var int a
就像中文的 定语加名词 ,写成var a int
就像英文的语法,先突出中心,再后面用定语修饰
因式分解关键字的写法一般用于声明全局变量。
目的都是为了更清晰的表达meanings
刚接触go语言,发现有一点很surprise,声明的变量或者import进来的包,你一定要使用,不然就会报错。
goland 这个IDE,会自动删掉你的未使用的package,这跟Python有很大的不同,pycharm这个IDE最多就把未使用的包变成灰色。