在Go语言中,常量是指编译期间就已知且不可改变的值。常量可以是数值类型(包括整型、
浮点型和复数类型)、布尔类型、字符串类型等。

#字面常量
所谓字面常量(literal),是指程序中硬编码的常量,如:
-12
Go语言
的字面常量更接近我们自然语言中的常量概念,它是无类型的。只要这个常量在相应类型的值域
范围内,就可以作为该类型的常量,比如上面的常量12,它可以赋值给int、 uint、 int32、
int64、 float32、 float64、 complex64、 complex128等类型的变量

#常量定义
通过const关键字,你可以给字面常量指定一个友好的名字:
```

const Pi float64 = 3.14159265358979323846
const zero = 0.0 // 无类型浮点常量
const (
size int64 = 1024
eof = -1 // 无类型整型常量
)
const u, v float32 = 0, 3 // u = 0.0, v = 3.0,常量的多重赋值
const a, b, c = 3, 4, "foo"
// a = 3, b = 4, c = "foo", 无类型整型和字符串常量

  


```


#预定义常量
Go语言预定义了这些常量: true、 false和iota。
iota比较特殊,可以被认为是一个可被编译器修改的常量,在每一个const关键字出现时被
重置为0,然后在下一个const出现之前,每出现一次iota,其所代表的数字会自动增1。

#枚举
枚举指一系列相关的常量
```

const (
Sunday = iota
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
numberOfDays // 这个常量没有导出
)

  


```

posted on 2019-09-17 17:01  黄sirofphoebe  阅读(169)  评论(0编辑  收藏  举报