【发布时间】:2019-04-23 13:51:47
【问题描述】:
我在第一章The Go Programming Language (Addison-Wesley Professional Computing Series),本书的第三个练习要求我使用time测量代码性能。
所以,我想出了以下代码。
start := time.Now()
var s, sep string
for i := 1; i < len(os.Args); i++ {
s += sep + os.Args[i]
sep = " "
}
fmt.Print(s)
fmt.Printf("\nTook %.2fs \n", time.Since(start).Seconds())
fmt.Println("------------------------------------------------")
start2 := time.Now()
fmt.Print(strings.Join(os.Args[1:], " "))
fmt.Printf("\nTook %.2fs", time.Since(start2).Seconds())
当我在 Windows 和 Mac 上运行此代码时,它总是返回 0.00 秒。我在我的代码中添加了一个暂停以检查它是否正确并且看起来很好。我不明白为什么它总是返回 0.0。
【问题讨论】:
-
为什么我的问题被否决了?请发表评论,以便我知道要改进的地方