保留字
保留字是语法上的一些关键字,和内置函数不同,大部分语言使用保留字作为符号名可能会出问题,所以不允许在编码中使用保留字。Go 语言内置函数在builtin
包中,它不需要导入包就可以直接使用,编译器会把它翻译成特殊的函数调用。一些语言允许定义和内置函数相同的函数,我们建议内置函数、内置类型、语法上的保留字不要使用,因为很容易引起误解。
运算符(Operators)
每种语言都会有特殊的运算符,有些运算符在其他语言里可能没有,系统语言里面有特殊的运算符尤其是位移操作。另外运算符可能会涉及优先级问题,Go 语言优先级相对来说比较简单也没有结合律一说。
使用位运算实现 bit flag
运算符中最常见的是位运算符,做应用开发很少会使用二进制位操作,文件系统使用位运算设置权限。
一个字节是由八个二进制位组成,二进制位标记为 1 表示特定的状态,这样一个字节表示八种状态。很多时候适当使用二进制位操作有助于减少内存使用,提高性能,尤其对于系统级软件来说任何时候对于性能要求都是很苛刻的。我们经常布隆结构或者位图数据结构使用二进制位去重。
// 定义好的权限
const (
read = 1 << iota //0001
write //0010
exec //0100
setuid