01.变量定义
变量定义
新建项目
func variableZeroValue() { //赋空值 var a int var s string fmt.Printf("%d %q\n", a, s) }
变量赋空值
在 Go 中,定义变量时可以不赋初值,此时变量会被赋予类型的零值。
func variableZeroValue() { //赋空值 var a int var s string fmt.Printf("%d %q\n", a, s) }
变量赋初值
定义变量时也可以同时赋予初值。
func variableInitialValue() { //初始变量,Go语言非常严格,定义了就要用到 //定义多个变量可赋初值也可不赋 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" println(a, b, c, d) }
简写(:=只能函数内使用)
在函数内部,可以使用 :=
简写方式定义和初始化变量。
func variableShorter() {
//简写 a, b, c, d := 3, 4, true, "def" b = 7 fmt.Println(a, b, c, d) }
注意::=
简写只能在函数内部使用,不能在全局范围或函数外部使用。
函数外定义变量
在函数外定义变量时,必须使用 var
关键字,并且需要显式指定类型或赋初值。
var name = "jj" var age = 24 var ( name1 = "aa" age1 = 22 )
代码:
package main import "fmt" func variableZeroValue() { //赋空值 var a int var s string fmt.Printf("%d %q\n", a, s) } func variableInitialValue() { //初始变量,Go语言非常严格,定义了就要用到 //定义多个变量可赋初值也可不赋 var a, b int = 3, 4 var s string = "abc" fmt.Println(a, b, s) } func variableTypeDeduction() { //推断类型 var a, b, c, d = 3, 4, true, "def" println(a, b, c, d) } func variableShorter() { a, b, c, d := 3, 4, true, "def" b = 7 fmt.Println(a, b, c, d) } var name = "jj" var age = 24 var ( name1 = "aa" age1 = 22 ) func main() { fmt.Println("Hello World") variableZeroValue() variableInitialValue() variableTypeDeduction() variableShorter() fmt.Println(name, age) fmt.Println(name1, age1) }