go初识常量语法(4)

请输入图片描述常量

常量和变量不同,变量是可以赋值进行修改的,而常量是不能修改的。在使用中有一些值是我们不希望更改的,就可以声明成常量。通常,我们习惯与将常量写为大写。

定义一个常量

常量可以定义在函数体内和函数体外

const name string = "mark"
fmt.Println(name)

运行

[root@LinuxEA /opt/Golang]# go run 04.go
mark

如果进行赋值修改就会报错

# command-line-arguments
./04.go:6:7: cannot assign to name

省略类型

const PP = 32132.21
fmt.Println(PP)

运行

[root@LinuxEA /opt/Golang]# go run 04.go
32132.21

定义多个类型相同的常量

const P1,P2 int = 3,4
fmt.Println(P1,P2)

运行

[root@LinuxEA /opt/Golang]# go run 04.go
3 4

定义多个类型不相同的常量

const (
P1 string = "mark"
P2 int = 4
)
fmt.Println(P1,P2)

运行

[root@LinuxEA /opt/Golang]# go run 04.go
mark 4

定义多个常量省略类型

const (
P1 = "mark"
P2 = 4
P3 = 32.1
)
fmt.Println(P1,P2,P3)

运行

[root@LinuxEA /opt/Golang]# go run 04.go
mark 4 32.1

赋值省略

在go中,如果产量的第一个值和最后一个值都是一样的,就可以省略掉。如下:

const (
P1 = 1
P2
P3
)
fmt.Println(P1,P2,P3)

运行

[root@LinuxEA /opt/Golang]# go run 04.go
1 1 1

还可以像这样

const (
P1 = "mark"
P2
P3
P100 = 3.5
P101
C11 = 123
C12
)
fmt.Println(P1,P2,P3,P100,P101,C11,C12)

运行

[root@LinuxEA /opt/Golang]# go run 04.go
mark mark mark 3.5 3.5 123 123

枚举

这种方式可以应用在枚举上,const+iota

枚举是以const()括号内部开始和结束的。不影响到括号外的操作。

const (
B1 int = iota
B2
B3
B4
)
fmt.Println(B1,B2,B3,B4)

运行

[root@LinuxEA /opt/Golang]# go run 04.go
0 1 2 3