package main
import (
"fmt"
)
//包内部变量必须有var或func
//只有在函数内部可用:=
var (
aa = 3
ss = "kkk"
bb = true
)
func variableZeroValue() {
//自动初始化为0
var a int
//自动初始化为""
var s string
fmt.Printf("%d %q\n", a, s)
}
func variableInitialValue() {
//所有变量都需使用,如声明未使用build时报错
var a, b int = 3, 4
var s string = "abc"
fmt.Println(a, b, s)
}
func variableTypeDeduction() {
//函数外不能用:= 只能在包内使用
//可以直接赋值,自动推断类型
var a, b, c, s = 3, 4, true, "def"
fmt.Println(a, b, c, s)
}
func variableShorter() {
//变量声明可直接用:=,推荐使用这种形式声明变量
a, b, c, s := 3, 4, true, "def"
b = 5
fmt.Println(a, b, c, s)
}
func main() {
fmt.Println("Hello World!")
variableZeroValue()
variableInitialValue()
variableTypeDeduction()
variableShorter()
fmt.Println(aa, ss, bb)
}
使用var关键字
1、var a, b, c bool
2、var s1, s2 string = "helo", "world"
3、可放在函数内,或直接放在包内
4、使用var()集中定义变量
使用:=定义变量
1、a, b, i, s1, s2 := true, false, 3, "hello", "world"
2、只能在函数内使用