令我惊讶的是,这个编译了
fmt.Println(time.Second * time.Second)
结果是无意义的
277777h46m40s
将持续时间乘以持续时间并获得另一个持续时间没有任何意义。
发生了什么事?
答案 0 :(得分:11)
Duration type只是一个int64,表示持续时间为纳秒计数
输入持续时间int64
持续时间表示两个时刻之间经过的时间为int64纳秒计数。
因此,将一个持续时间与另一个持续时间相乘得出每个中纳秒数乘以的结果。在我的例子中,这给出了十亿亿纳秒,或277777h46m40s
。胡说八道,但定义明确!