package main import "fmt" func variableinitial(){ var a,b int=3,4 var s string="abc" fmt.Println(a,b,s) } func main(){ variableinitial() }
输出
3 4 abc
变量后面的类型可以省略。此时,可以把不同类型的变量一起初始化。
var a,b,c,d,f =3,4,22,"iii",true
与
a,b,c,d,f :=3,4,22,"iii",true
等效。
package main import "fmt" func variableinitial(){ a,b,c,d,f :=3,4,22,"iii",true var s string="abc" fmt.Println(a,b,c,d,f,s) } func main(){ variableinitial() }
输出
3 4 22 iii true abc
注意:使用var 或者:=声明的变量,再次赋值时,直接赋值即可,如:b=7,不能再次使用var或者:=
以上说的都是函数内部变量,也可以在函数外部声明变量,但是必须使用var开始,且不能使用:=,因为go语言要求,函数外部的每行开始都要是go的关键字,所以必须以var开始,如:var c=6,这些变量我们称为包内部变量
如果外部变量较多时,可以使用括号,一次声明初始化多个变量,可以少写一些var
package main import "fmt" var ( aa=3 bb=7 cc=9 dd="kkk" ee=true ) func variableinitial(){ a,b,c,d,f :=3,4,22,"iii",true var s string="abc" fmt.Println(a,b,c,d,f,s,ee) } func main(){ variableinitial() }
输出;
3 4 22 iii true abc true