常量的定义

  • 常量的值在编译时就已经确定
  • 常量的定义格式与变量基本相同
  • 等号右侧必须是常量或者常量表达式
  • 常量表达式中的函数必须是内置函数
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const a int = 1
const b = 'A'
const (
text = "123"
length = len(text)
num = b * 20
)
const i,j,k = 1,"2","3"
const (
text2,lenght2,num2 = "234",len(text2),k * 10
)

常量的初始化规则与枚举

  • 在定义常量组时,如果不提供初始值,则表示将使用上行的表达式
  • 使用相同的表达式不代表具有相同的值
  • iota是常量的计数器,从0开始,组中没定义1个常量自动递增1
  • 通过初始化规则与iota可以达到枚举的效果
  • 没遇到一个const关键字,iota就会重置为0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const (
a = "A"
b
c = iota
d // d == 3
)
const (
e = iota
f //f == 1
)
const (
Monday = iota
Tuesday
Wednesday
....
)

运算符

Go 中的运算符均是从左至右结合,优先级(从高到低)
^ !
* / % << >> & &^
+ - | ^
== != < <= >= >
<-
&&
||

1
2
3
4
5
6
7
6: 0110
11: 1011
-------------
& 0010
| 1111
^ 1101