package main
import "fmt"
// 外部定义的变量不能使用 :=,这些变量不是全局变量,是包内部变量
var ii = 123
var ss = "abc"
// 还可以都把变量放在括号里,少写一些var
var (
ii1 = 456
ss1 = "def"
)
// 初始值,不像C语言定义的变量初始值不确定
func variableZeroValue() {
var i int
var s string
fmt.Printf("%d %q", i, s) // 0 ""
}
// 赋初值
func variableInitialValue() {
var ia, ib int = 3, 4
var s string = "abc"
fmt.Println(ia, ib, s)
}
// 编译器自动判断类型
func variableTypeDeduction() {
var ia, ib, b, s = 3, 4, true, "abc"
fmt.Println(ia, ib, b, s)
}
// 省略var,使用 :=定义一个变量,但是赋值的时候就不能在加冒号了
func variableShorter() {
ia, ib, b, s := 3, 4, true, "abc"
ia = 30
fmt.Println(ia, ib, b, s)
}
func main() {
fmt.Println(ii, ss, ii1, ss1)
variableShorter()
}