开发者学堂课程【Go 语言核心编程 - 基础语法、数组、切片、Map: Go 时间函数课堂练习】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/625/detail/9620
Go 时间函数课堂练习
一、最佳实践案例
1、编写一段代码来统计函数 test03 执行的时间。
package main
import (
"fmt"
"time"
"strconv"
)
func test03(){
str := ""
for i := 0; i < 100000; i++ {
str += "hello"+ strconv.Itoa(i)
}
}
func main() i
//在执行 test03 前,先获取到当前的 unix 时间戳
start := time.Now(). unix()
test03()
end := time.Now(). unix()
fmt.Printf("执行test03()耗费时间为‰v秒\n", end-start)
}
2、运行结果:
执行 test03()耗费时间为 17 秒
3、分析总结:
(1) 这段代码是把字符串拼接了 10 万次,看花费了多长时间。其中用到了 strconv.Itoa 函数,就是把整数转成字符串。引入 fmt 包和 time, 还 strconv 包。写一个 test03 函数,完成拼接任务,首先定义一个字符串,for 循环 i := 0; i < 100000; i++
, 再拼接 str += "hello"+ strconv.Itoa(i)
。最后再写一个主函数,在执行 test03 前,先获取到当前的 unix 时间戳,需要精准一点可以用 unixnano 时间戳。start := time.Now(). unix()
,再获取一个结束的时间,最后只需把 end-start 。输出的结果显示拼接 10 万次执行 test03() 耗费时间为 17秒。
(2) 如果想判断某一个排序的方法在抓取我们需要的内容用了多少时间的时候,可以用 end := time.Now(). unix() 方法来统计花了多少时间,从而判断这个函数是否高效。如果想去判断某一个排序的方法或者是一个蜘蛛爬虫在抓取需要的内容花了多少时间的时候,就可以用这个方法来统计花费的时间。这样就可以判断别人写的函数效率高还是效率低。