32  

As @Jono points out in @OneOfOne's answer, the correct answer should take into account the duration of a nanosecond. Eg:

正如@Jono在@OneOfOne的答案中指出的,正确的答案应该考虑到一纳秒的持续时间。例如:

func makeTimestamp() int64 {
    return time.Now().UnixNano() / (int64(time.Millisecond)/int64(time.Nanosecond))
}
time.Nanosecond1

一个人的答案是有效的,因为时间。纳秒恰好是1,除以1没有影响。我不太了解go知道它在未来会发生多大的变化,但是对于严格正确的答案,我会用这个函数,而不是一个人的答案。我怀疑是否存在任何性能缺陷,因为编译器应该能够很好地优化它。

See https://en.wikipedia.org/wiki/Dimensional_analysis

参见https://en.wikipedia.org/wiki/Dimensional_analysis

time.Now().UnixNano()time.Millisecond

另一种看待这个问题的方法是这两种时间。毫秒使用相同的单位(纳秒)。只要这是真的,一个人的答案应该是完美的。