天天看点

go容易遇到的语言的小坑

在写go的时候, 经常会有这样的情况

a, err := x()
b, err := y()           

虽然第二行是使用:=, 但是还是和第一行的err是一个值

但是当下面这种情况

a, err := x()
if true {
    b, err := y()
}           

就不是一个值了, 因为有了{}这个作用域

总结就是=都用旧值, :=的之后至少有一个新值, 其他能用新就用新

以前结果都是我通过实验猜出来的, 就是这样了