常量与运算符
- 常量声明后必须要赋值,在常量声明组中,赋值可以是向上原则
举例:
const (
aa1 = 1
bb1
cc1
)
bb1和cc1没有赋值,那么bb1遵循向上原则,值等于aa1,然后cc1遵循向上原则,cc1等于bb1的值,这样三个常量都有了值。 枚举iota
const (
aa1 = iota
bb1
cc1
)
当一个常量组使用了iota,枚举时,组成员值开始从0以此递增。也就是说aa1= 0,bb1=1,那么下面怎么说const (
aa1
bb1 = iota
cc1
)
结果是相同的,只要在这个组里面使用了iota,无论在哪里位置,都是从组第一个常量开始递增。
它遇到const就会重置,例如:
const (
aa1
bb1 = iota
cc1 = iota
)
const (
aa2 = iota
bb2
cc2
)
同一个组里面只存在一个iota,即使书写多个也是同一个,
遇到了const,相当于界限,iota范围只在一个const范围内小练习:利用iota,和常量,以及<<运算符实现计算机单位:B,KB,MB,GB的表示
const ( B float64 = 1 << (iota * 10) KB MB ) 定义为float是怕数据溢出,利用iota的自增长以及const组省略值后,后一个值跟随前一个值一样,这里是计算表达式的跟随,因为其中iota变化了,所以在计算时就变化了。实现了要求。
运算符:
一元:^:数据加一取反,无论正负数。 !:取非 二元:^:异或 &:与运算 |:或运算 &^:同样是位运算,第二个数的位如果是1,那么把第一 个数的对应位改为0,如果不是1,那么不变,这样结果是第一个数运算之后的结果。
有疑问加站长微信联系(非本文作者)