Go ...
gopackage 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 不行 ???

原文阅读

"文章为作者独立观点, 不代表老订阅立场"

本站作者

每日荐书

在不完美的世界力求正常——读《公司的坏话》

书名:《公司的坏话》

作者:李天田(脱不花妹妹)

出版社:北京大学出版社

赞助商

广告