Go语言的坑: 八进制整数

Go语言的坑: 八进制整数

[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)
Licensed under CC BY-NC-SA 4.0
Built with Hugo
主题 StackJimmy 设计