首页 > go语法里 & 符号用法?

go语法里 & 符号用法?

func toBytes(value int64) []byte {
    var result []byte
    mask := int64(0xFF)
    shifts := [8]uint16{56, 48, 40, 32, 24, 16, 8, 0}
    for _, shift := range shifts {
        result = append(result, byte((value>>shift)&mask))
    }
    return result
}

想问一下这里 &mask是什么意思?它对于byte转换出来的字节起到什么作用?


&按位与操作,就是把value>>shift的结果和mask做一个AND,在这里的效果就是只保留最低8位,其余全部置0

【热门文章】
【热门文章】