变量

变量声明

第一种,指定变量类型,如果没有初始化,则变量默认为零值

  1. var name int
  2. name = value

零值就是变量没有做初始化时系统默认设置的值。

  1. package main
  2. import "fmt"
  3. func main() {
  4. // 声明一个变量并初始化
  5. var a = "RUNOOB"
  6. fmt.Println(a)
  7. // 没有初始化就为零值
  8. var b int
  9. fmt.Println(b)
  10. // bool 零值为 false
  11. var c bool
  12. fmt.Println(c)
  13. }

第二种,根据值自行判定变量类型。

  1. package main
  2. import "fmt"
  3. func main() {
  4. var d = true
  5. fmt.Println(d)
  6. }

第三种,省略 var, 使用:= :
intVal := 1

多变量声明

  1. // 声明全局变量
  2. var (
  3. vname1 v_type1
  4. vname2 v_type2
  5. )

常量

相对于变量,常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值。 常量的声明和变量声明非常类似,只是把var换成了const,常量在定义的时候必须赋值。
const pi = 3.1415
const e = 2.7182
const同时声明多个常量时,如果省略了值则表示和上面一行的值相同。

  1. const (
  2. n1 = 100
  3. n2
  4. n3
  5. )

iota

iota是go语言的常量计数器,只能在常量的表达式中使用。
iota在const关键字出现时将被重置为0。const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。

  1. const (
  2. n1 = iota //0
  3. n2 //1
  4. n3 //2
  5. n4 //3
  6. )

iota注意:
//1.const声明如果不写 默认与上行一致
//2.遇到const iota初始化为0
//3.const每增一行iota +1