1.变量

变量(Variable)的功能是存储数据。不同的变量保存的数据类型可能会不一样。
常见变量的数据类型有:整型、浮点型、布尔型等。

  1. //标准声明
  2. var name string
  3. var age int
  4. var isOk bool
  1. //批量声明
  2. var(
  3. a string
  4. b int
  5. c bool
  6. d float32
  7. )
  1. //变量初始化
  2. var name string="cheng"
  3. var age int = 18
  1. //类型推导
  2. var name = "cheng"
  3. var age = 18
  1. //短变量声明
  2. //只能声明局部变量
  3. name := "cheng"
  4. age := 18
  1. func foo()(int,string){
  2. return 18,"cheng"
  3. }
  4. func main() {
  5. //匿名变量
  6. x,_ := foo()
  7. _,y := foo()
  8. fmt.Print(x,y)
  9. }
  1. 函数外的每个语句都必须以关键字开始(var、const、func等)
  2. :=不能使用在函数外。
  3. _多用于占位,表示忽略值。

2.常量

  1. //常量在定义的时候必须赋值
  2. const pi = 3.1415
  3. const e = 2.7182
  1. //常量批量声明
  2. const(
  3. pi = 3.1415
  4. e = 2.7182
  5. )
  1. func main() {
  2. //常量批量声明
  3. const(
  4. n1 = 100
  5. n2
  6. n3
  7. )
  8. fmt.Print(n1,n2,n3) // 100 100 100
  9. }

3.iota

  1. //const中每新增一行常量声明将使iota计数一次
  2. const(
  3. n1 = iota
  4. n2
  5. n3
  6. )
  7. fmt.Print(n1,n2,n3) // 0 1 2
  1. //使用_跳过某些值
  2. const(
  3. n1 = iota
  4. n2
  5. _
  6. n4
  7. )
  8. fmt.Print(n1,n2,n4) //0 1 3
  1. //声明中间插队
  2. const(
  3. n1 = iota
  4. n2 = 100
  5. n3 = iota
  6. n4
  7. )
  8. fmt.Print(n1,n2,n3,n4) //0 100 2 3
  1. //多个iota定义在一行
  2. const(
  3. a,b = iota + 1,iota + 2
  4. c,d
  5. e,f
  6. )
  7. fmt.Println(a,b) //1 2
  8. fmt.Println(c,d) //2 3
  9. fmt.Println(e,f) //3 4