[toc]
sum := 100 + 011 fmt.Println(sum)
运行之后,不会输出 111,而是 108, 因为在 Go 中以 0 开头的整数表示八进制
它经常用在处理 Linux 权限相关的代码上,如下面打开一个文件:
file, err := os.OpenFile("foo", os.O_RDONLY, 0644)
所以为了可读性,我们在用八进制的时候最好使用 “0o” 的方式表示,比如上面这段代码可以表示为:
file, err := os.OpenFile("foo", os.O_RDONLY, 0o644)