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