一 常量

  是一个简单值的标识符,在程序运行时,不会被修改的量。

  常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。

二 常量的定义

  • 显式类型定义: const b string = "abc"(显示的声明类型)
  • 隐式类型定义: const b = "abc"(类型推导)

       多个相同类型的声明: const c_name1, c_name2 = value1, value2

三 常量可以用作枚举类型

  const (
      Unknown = 0
      Female = 1
      Male = 2
  )

iota(不理解有什么用)
  在每一个const关键字出现时,被重置为0,然后再下一个const出现之前,每出现一次iota,其所代表的数字会自动增加1
package main

import "fmt"

func main() {
const (
    a = iota   //0       iota = 0
    b          // 1      iota = 1
    c          // 2      iota = 2
    d = "ha"      //     iota = 3
    e          // "ha"   iota = 4
    f = 100      // iota = 5
    g           // 100,  iota = 6
    h = iota   //7       iota = 7
    i
   )
const (
    j = iota       // 0, 第二次出现const, itoa变成0
    k              // 1 , 在iota出现后,就一直在计数,后面的值递增
)

const (
    aa  = 128       // 128
    bb              // 默认后一个数和前一个数相等
    cc = "ha"
    dd              // "ha", 默认和前一个数相等
)

fmt.Println(a, b ,c, d, e, f, g, h, i )  // 输出 0 1 2 ha ha 100 100 7 8
fmt.Println(j, k  )                      //输出 0 1
fmt.Println(aa, bb, cc, dd  )                      //输出 0 1
}