1 变量
1.1定义变量
var a int
var b float32
var c, d float64
e, f := 9, 10
var g = "Ricardo"
在Golang中定义一个变量,需要使用var关键字,而与C或者Java不同的是,我们需要将这个变量的类型写在变量名的后面。不仅如此,在Golang中,允许我们一次性定义多个变量并同时赋值。还有另外的一种做法,是使用:=这个符号。使用了这个符号之后,开发者不再需要写var关键字,只需要定义变量名,并在后面进行赋值即可。并且,Golang编译器会根据后面的值的类型,自动推导出变量的类型。在变量的定义过程中,如果定义的时候就赋予了变量的初始值,是不需要再声明变量的类型的,如变量g。注意,Golang是强类型的一种语言,所有的变量必须拥有类型,并且变量仅仅可以存储特定类型的数据。
1.2匿名变量
标识符为(下划线)的变量,是系统保留的匿名变量,在赋值后,会被立即释放,称之为匿名变量。其作用是变量占位符,对其变量赋值结构。通常会在批量赋值时使用。 例如,函数返回多个值,我们仅仅需要其中部分,则不需要的使用来占位
func main() {
// 调用函数,仅仅需要第二个返回值,第一,三使用匿名变量占位
_, v, _ := getData()
fmt.Println(v)
}
// 返回两个值的函数
func getData() (int, int, int) {
// 返回3个值
return 2, 4, 8
}
如上述代码所示,如果我仅仅需要一个变量的值,就不需要去额外定义一些没有意义的变量名了,仅仅只是需要使用占位符这种“用后即焚”的匿名变量。
1.3 常量
在Golang的常量定义中,使用const关键字,并且不能使用:=标识符。
2 判断
if v := math.Pow(x, n); v < lim {
return v
}
return lim }
除去不需要写小括号以外,Golang还允许在判断条件之前执行一个简单的语句,并用一个分号;隔开。