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 :=”