参考文档:http://www.runoob.com/go/go-constants.html
```
package main
import (
//fmt这样的内部函数库 编辑器会自动加上。不需要我们手动,除非是复制其他的外部代码
"fmt"
"unsafe"
)
//定义在外面的常量
const abc string = "aaa"
const (
a="abc"
b = len(a)
c = unsafe.Sizeof(a)
)
func main() {
//可以重复定义,不会报错
const abc string = "bbb"
//编译器可以根据变量的值来推断类型
const dd = "dd"
fmt.Println("sfa");
fmt.Println(abc);
//多个相同类型的简写
const cname1,cname2 = "c1","c2"
//printlen 可以直接使用,输出会在fmt之前输出
println(a,b,c)
//神奇的 iota
const(
a = iota
b
c
d = "新的值"
e
f = 100
g
h = iota
i
)
fmt.Println(a,b,c,d,e,f,g,h,i)
//输出: 0 1 2 新的值 新的值 100 100 7 8
}
```
继续神奇的 iota
```
package main
import "fmt"
const (
i=1<<iota
j=4<<iota
k
l
)
func main() {
fmt.Println("i=",i)
fmt.Println("j=",j)
fmt.Println("k=",k)
fmt.Println("l=",l)
}
/*
输出结果
i= 1
j= 8
k= 16
l= 32
*/
```
希望一起进度学习的朋友可以申请加入自学团队:http://163.fm/8Qokjg5e 申请加入后,每周有3天需要提交作业。
有疑问加站长微信联系(非本文作者)