代码如下:为什么输入的时间戳事变化的,得到的result在某个区间内是一样的?//main.gofuncPrevSlot(nowint64)int64{//now=time.Now().Unix()varblockInterval=int64(10)result:=int64((now-1)/blockInterval)*blockInterval//whyresultissame?plog.Println("PrevSlot:",int64(result),int64((now-1)/blockInterval),now)returnresult}funcmain(){ticker:=time.NewTicker(1*time.Second)for{
2 回答
幕布斯7119047
TA贡献1794条经验 获得超8个赞
这个是很常用的取离散值的方法,一个通用的公式是:[a/10]*10这里[]表示取整。也就是说,当a为0~9时,[a/10]的结果都是0,a为10~19时,结果都是1,以此类推,然后后面再×10,整个表达式的结果就是一系列离散的点:0,10,20,30...。
GCT1015
TA贡献1827条经验 获得超4个赞
说明:/代表整数除,如11/10=111/10*10=1012/10*10=1013/10*10=1014/10*10=1015/10*10=1016/10*10=1017/10*10=1018/10*10=1019/10*10=10
添加回答
举报
0/150
提交
取消