go 装饰器

go 装饰器实现统计函数运行时间


func TestDecorator(t *testing.T) {
	fn := Timer(TimerTest)
	fn()
}

func Timer(fn func()) func() {
	return func() {
		start_time := time.Now().Unix()
		fn()
		end_time := time.Now().Unix()
		fmt.Println("func use time: ",end_time-start_time)
	}
}

func TimerTest()  {
	fmt.Println("运行timerTest func")
	time.Sleep(time.Second *2 )
}
posted on 2022-06-17 08:31  每天进步一点点点点点  阅读(64)  评论(0编辑  收藏  举报