Go语言小细节——变量估值规则

上传:qq_99361 浏览: 10 推荐: 0 文件:PDF 大小:33.71KB 上传时间:2021-01-16 23:09:30 版权申诉
变量与常量的估值 package main func main() { var n uint = 10 const N uint = 10 var x byte = (1 << n) / 100 var y byte = (1 << N) / 100 println(x, y) // 0 10 } 程序的打印结果值为:0,10 以上程序中,x 与 y 的输出不同,仅仅是因为在左移操作中,右操作数的类型不同导致的,一个为变量,一个为常量,具体原因如下: 上述程序,移位操作的左操作数 1 的类型为尚未确定的类型,在编译时,如果右操作数为变量,那么编辑器在移位操作
上传资源
用户评论