我想到了使用defer語句來測量 Go 中程序的運行時間:func main() { start := time.Now() defer fmt.Println(fmt.Sprintf("The process took %s", time.Now().Sub(start))) ...}我認為這會產生正確的結果,但事實并非如此:[09:36:55]pc@work:~/test$ go run ./main.goProcessed 209806/209806 TUF filesAll records are inserted in the database.Verifying records are inserted correctly...Verified 209806/209806 TUF filesAll records have been inserted and verified successfully.The process took 600ns[14:24:06]pc@work:~/test$盡管該過程耗時 5 小時(從左側的時間戳可以看出),但延遲fmt.Println()語句顯示為 600 納秒。我究竟做錯了什么?
- 2 回答
- 0 關注
- 112 瀏覽
添加回答
舉報
0/150
提交
取消