您的位置:首页 > 编程语言 > Go语言

Go语言之常量与运算符

2016-08-06 12:27 267 查看

常量与运算符

常量声明后必须要赋值,在常量声明组中,赋值可以是向上原则

举例:

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,那么不变,这样结果是第一个数运算之后的结果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  go语言