:=
的用法有一些需要注意的地方
-
如果
:=
左端都是已经定义的值,则会报错package main import "fmt" func main() { c := 1, d := 1 c, d := test() fmt.Println(c, d) } func test() (int, int) { return 2, 2 }
输出
./prog.go:11:12: syntax error: unexpected := at end of statement
-
如果
:=
左端有一个是未定义的值,则左端所有的值都会是一个new值package main import "fmt" func main() { a := 1 a, b := test() fmt.Println(a, b) } func test() (int, int) { return 2, 2 }
输出
2,2