Go语言中引入了一种C/C++中没有的符号“:=”,用于明确表达同时进行变量声明及初始化的工作。

尽管Go语言是不折不扣的强类型语言,但是通过使用该符号,可以使得Go语言可以通过表达式自动推导出右值的类型,并声明左值的变量。

val := 10		// 编译器根据右值自动推导出val的类型为int

当然,符号左值的变量不应该是已经被声明过的变量,否则会导致编译错误“no new variables on left side of :=”。

var i int
i := 2
// 此时编译器会报错“no new variables on left side of :=”