我对时间包函数操作感到困惑。它在时间 &纳秒掩码(即 1<<30-1 => 111111111111111111111111111111)的属性上应用运算符,以返回时间对象的纳秒值。我想知道数字等于数字(因为所有数字的值为1),那么他们为什么要这样做?nsec()ANDwallANDING1<<30-1
nsec()
AND
wall
ANDING
1<<30-1
func (t *Time) nsec() int32 { return int32(t.wall & nsecMask) }
主要源代码:https://cs.opensource.google/go/go/+/refs/tags/go1.16.7:src/time/time.go;l=164;drc=refs%2Ftags%2Fgo1.16.7
跃然一笑
相关分类