学习golang不久,在定义全局变量的时候遇见了坑。写个小例子,增强记忆。
错误版本
var p int
func main() {
p, err := test(4)
if err != nil {
log.Fatal(err)
}
}
func test(i int) (int, error) {
return i + 1, nil
}
编译一直不通过,p declared and not used。后来查了查资料,看见这种其实是在main里边又重新定义了p,所以一直提示p定义了但是没有使用。修改如下:
正确版本
var p int
func main() {
var err error
p, err = test(4)
if err != nil {
log.Fatal(err)
}
}
func test(i int) (int, error) {
return i + 1, nil
}