for 与 range 性能简单对比
代码
package main
import (
"fmt"
"time"
)
func main() {
start := time.Now() // 获取当前时间
for i := range [1000000000]int{} {
if i > 0 {
}
}
elapsed := time.Since(start)
fmt.Println("第1个函数执行完成耗时:", elapsed)
for i := 0; i < 1000000000; i++ {
if i > 0 {
}
}
elapsed = time.Since(start)
fmt.Println("第2个函数执行完成耗时:", elapsed)
}
测试结果
# 测试1
➜ go run main.go
第1个函数执行完成耗时: 400.154752ms
第2个函数执行完成耗时: 809.338192ms
# 测试2
➜ go run main.go
第1个函数执行完成耗时: 385.898571ms
第2个函数执行完成耗时: 772.104173ms
# 测试3
➜ go run main.go
第1个函数执行完成耗时: 386.143845ms
第2个函数执行完成耗时: 773.088066ms