变量
声明变量
语法:
var name typevar name1, name2 type// 声明后赋值name = typeValuename1, name2 = typeValue1, typeValue2
声明变量并初始化
语法:
var name type = initialValuevar name1, name2 type = initialValue1, initialValue2
类型推导
语法:
var name = initialValuevar name1, name2 = initialValue1, initialValue2
如果一个变量有初始值,Golang 将自动使用该初始值来推断该变量的类型。因此,如果一个变量有初始值,变量声明中的类型可以省略。
简短声明
语法:
name := initialValue
对简短声明,有如下一些规则:
- 简短声明只能出现在函数体中;
- 简短声明要求必须给声明的每一个变量都提供初始值;
- 简短声明要求在
:=的左边必须至少有一个变量是新声明的。
package mainimport "fmt"func main() {// 声明变量 a, ba, b := 20, 30fmt.Println("a is", a, "b is", b)// b 已经被声明, c 是新声明的变量,本条语句包含一个新声明的变量b, c := 40, 50fmt.Println("b is", b, "c is", c)// 重新赋值, 若为 b, c := 80, 90 则报错b, c = 80, 90fmt.Println("changed b is", b, "c is", c)}
注意
- Go对于已声明但未使用的变量会在编译阶段报错
_(下划线)是个特殊的变量名,任何赋予它的值都会被丢弃。
常量
语法:
const constantName = value//如果需要,也可以明确指定常量的类型:const Pi float32 = 3.1415926
分组
var (name1 type1name2 type2)var (name1 = initialValue1name2 = initialValue2)const (name1 = initialValue1name2 = initialValue2)
