变量是什么,变量的命名规则,以及一些关于变量的基础没有必要再说了,我想学习Go语言的有很多都是从其他语言转过来的,那我们直接进入正题。
声明一个变量: var age int
给变量赋值: age = 10
声明一个变量并给一个初始值: var age int = 3
Go语言是编译型,强类型语言,声明变量必须指定变量类型,不过为什么设计的这么复杂?直接 int age = 3 不行吗?
不过Go语言提供了一种类型推断,变量有初始值的情况下可以由Go自行判断数据类型,比如: var age = 3
同时定义多个变量: var width, height int = 100, 50
还可以同时定义多个不同类型的变量:
var ( user = "root" pwd string = "123456" age int = 3 )
这种定义方式在其他语言里从来没有见到过,在实际使用中会有这种需求吗?【思考】
Go语言声明变量似乎要写很长一大串,var开头....。但是Go也提供了一些其他的方式,简短声明,可以很方便的定义变量。
user := "root" pwd := "123456" age := 3
无需写var和变量类型,Go会自行处理,当然不同类型的变量也可以写在同一行: user, pwd, age := "root", "123456", 3
同样的给多个不同类型的变量赋值也可以使用这种方式: user, pwd, age := "root", "123456", 3
Go语言的变量暂时就研究到这里吧,还有一点。Go语言是强类型语言,和Lua PHP 这样的语言不同,一个变量定义完毕后就只能是这个类型,这个也很好理解。
在C语言中 int c = 0; c = "abc"; 这样的肯定会报错了,但是PHP中 $c = 0; $c = "abc"; 完全OK。