mirror of
https://github.com/crazybber/go-pattern-examples.git
synced 2024-11-25 21:26:03 +03:00
600 B
600 B
时间差模式
主要用来计算,一段是代码的执行时差:
defer
后面跟的函数的参数,会被先被计算并被存储为函数本地变量
并且,当defer
后的函数代码在整个代码块离开作用域被调用时,就会利用前面已经存储的值进行计算,这也算是一个技巧,示例如下:
func YourFunction(input SomeType) error {
defer YourFunc(time.Now(), ....) //一定要放在函数的第一行或者你想要计算时差的代码的前面.
//其他代码..
//其他你想计算允许时间的函数代码
}