变量定义的几种方式:
(1)使用var关键字来定义
var a, b, c bool
var s1, s2 string = “hello”, “world”
var (
aa = 3
ss = “kkk”
bb = true
)
使用var关键字的定义方式可以放在函数内,也可以放在函数外(包内)。
(2)让编译器自动决定类型
var a, b, i, s1, s2 = true, false, 3, “hello”, “world”
(3)使用:=定义变量(只能在函数内使用,不能用在函数外(包内))
a, b, i, s1, s2 := true, false, 3, “hello”, “world”
package mainimport "fmt"// 在函数外(包内部)定义变量,其作用域为包内部var aa = 3var (ss = "kkk"bb = true)// 在函数内定义变量,其作用域为函数内部// 定义变量时可以不指定初始值func variableZeroValue(){var a intvar s stringfmt.Printf("%d %q\n", a, s)// 0 ""}// 定义的同时初始化;可以同时定义多个变量func variableInitialValue(){var a, b int = 3, 4var s string = "abc"fmt.Println(a, b, s)// 3 4 abc}// 让编译器自动推断变量类型func variableTypeDeduction(){var a, b, c, s = 3, 4, true, "def"fmt.Println(a, b, c, s)// 3 4 true def}// 使用:=来定义变量(更常用)func variableShorter(){a, b, c, s := 3, 4, true, "def"b = 5fmt.Println(a, b, c, s)// 3 5 true def}func main(){variableZeroValue()variableInitialValue()variableTypeDeduction()variableShorter()fmt.Println(aa, ss, bb)// 3 kkk true}
变量定义要点回顾:
①变量类型写在变量名之后
②编译器可推测变量类型
③没有char, 只有rune(32位)
④原生支持复数类型
