package main
import "fmt"
var(
	aa =3
	bb ="kkk"
	cc =true
)//go语言中,变量可以定义在函数外面,并不是表示全局变量而是作用域在整个包内
//定义变量
func variableZeroValue()  {
	var a int
	var s string
	//fmt.Print(a,s)
	fmt.Printf("%d %q\n",a,s)//打出空串,以""表示
}
//变量赋初值
func variableInitialValue(){
	var a,b int  = 3,4
	var s string  = "abc"
	fmt.Println(a,b,s)
}
//变量可以忽略类型,由go自动判断,可以赋多个类型
func variableTypeDeduction()  {
	var a,b,c,d =3,4,true,"def"
	fmt.Println(a,b,c,d)
}
//用:=代替var,效果一样
func variableShorter()  {
	a,b,c,d :=3,4,true,"def"
	b=5//:=表示定义变量,最初出现之时可用:=
	fmt.Println(a,b,c,d)
}
func main() {
	fmt.Println("hello world")
	variableZeroValue()
	variableInitialValue()
	variableTypeDeduction()
	variableShorter()
	fmt.Println(aa,bb,cc)
}
使用var关键字
var a,b,c
var s1,s2 string= "hello","world"
可放在函数内,或可放在包内
可以用var()集中定义变量
编译器可以自动识别类型:var a,b,c,d =3,4,true,"def"
使用:=定义变量
a,b,c,d :=3,4,true,"def"
只能在函数内使用
