我在 goland IDE 中执行此代码段,但发现输出顺序与我预期的不同:
package main
import (
"fmt"
"errors"
)
func main() {
println("===========================")
println("---------------------------")
r,_:= div(6,3)
fmt.Println(r)
}
func div(x, y int) (int, error) {
defer println("dispose...")
if y == 0 {
return 0, errors.New("division by zero")
}
return x / y, nil
}
输出:
- 为什么输出顺序与代码顺序不同
- 为什么输出不同颜色(白色和红色),我使用 jetbrain 的 goland IDE
我无法在https://play.golang.org/p/2T5LOt7FRDn 我的本地环境中重现:windows 10 + go1.10.3 windows/amd64 + GoLand 2018.1.4