go
package main import ( "fmt" "reflect" ) const ( cmask = 127 ) func main() { var u uint8 u = 22 r1 := u + cmask fmt.Println(r1) fmt.Println(reflect.TypeOf(cmask)) // int //------------------ mask := 0x7f //r2 := u + mask //fmt.Println(r2) fmt.Println(reflect.TypeOf(mask)) // int }
cmask 和 mask 反射出来的类型都是 int。为什么 cmask 可以和u进行操作,而 mask 不行 ???