go - 非平凡代码golang的执行时间为零

标签 go time

package main

import (
"fmt"
"time"
)

func main() {
    time1 := time.Now()
    f := 0
    g := 0
    h := 0
    for i := 0; i < 1000000; i++ {
        f += 1
        g += f*2 + (f*f) + (f*f*f*f*f)
        h += g*g*g + f*f
    }
    time2 := time.Now()
    second2 := time2.Sub(time1)
    fmt.Println(second2.Nanoseconds())
}
这是打印 0作为输出。我还添加了一些打印语句来添加 IO 时间,然后还添加了 0是输出。
有人可以解释为什么会这样吗?
链接:https://play.golang.org/p/GUy9geJXBUA

最佳答案

这是因为你在 Go 操场上运行,time.Now()被卡住并始终返回 Go 发布公告的时间。 (您可以通过 fmt.Println(time.Now()) 进行检查。)

关于go - 非平凡代码golang的执行时间为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63944406/

相关文章:

amazon-web-services - 从正在运行的 CLI Go 程序更新 AWS 凭证以访问不同的账户

go - 在 Programming go 中打勾

javascript - 将字符串解析为时间格式 JavaScript

java - 从人类可读的时区字符串中获取时区 ID

python - 如何确保函数在 Go 中花费一定的时间?

go - 在 Go 中发送多个请求时出现零星的 EOF 错误

go - 可以反射(reflect)ast的结构

java - 在 Java 和 golang 中使用 AES 时获得不同的结果(密文)

MySQL:按时间排序(MM:SS)?

c - strptime 的问题