一、变量声明
1.1 声明一个变量
Go 语言中声明变量使用关键字var,然后变量名,最后变量类型,即
var 变量名 变量类型
如:
var name string
var age int
var isTrue bool
1.2 批量声明变量
Go 语言中可以一次性声明多个变量,使用一个 var 关键字,把变量写到一对小括号中,如下:
var (
name string
age int
isTrue bool
)
二、变量的初始化
2.1 声明变量默认的初始化值
Go 语言中在声明变量的时候,如果不对变量赋值 Go 语言默认会对变量进行初始化,比如字符串类型默认初始化值为 “”,整型变量默认初始化值为0,布尔类型默认初始化值为false,切片、函数、指针类型变量默认初始化值为 nil,如下:
package main
import "fmt"
func main() {
var name string
var age int
var isTrue bool
fmt.Println(name)
fmt.Println(age)
fmt.Println(isTrue)
}
执行结果为:
0
false
2.2 变量声明时赋值
变量声明时赋值格式如下:
var 变量名 变量类型 = 变量赋值表达式
如下:
package main
import "fmt"
func main() {
var name string = "Jack"
var age int =20
var isTrue bool = true
fmt.Println(name)
fmt.Println(age)
fmt.Println(isTrue)
}
执行结果为:
Jack
20
true
2.3 类型推导
变量在声明时如果直接赋值可以不指定变量类型,此时 Go 语言会自动从变量的赋值中推导出变量的类型,格式如下:
var 变量名 = 变量值
如下:
package main
import "fmt"
func main() {
var name = "Jack"
var age =20
var isTrue = true
fmt.Println(name)
fmt.Println(age)
fmt.Println(isTrue)
}
执行结果如下:
Jack
20
true
2.4 一次性给多个变量赋值
Go 语言支持一次性对多个变量进行赋值,如下:
package main
import "fmt"
func main() {
var name, age, isTrue = "Jack", 20, true
fmt.Println(name)
fmt.Println(age)
fmt.Println(isTrue)
}
执行结果如下:
Jack
20
true
三、短变量声明
在 Go 语言中,可以通过 := 运算符对变量进行声明,从而不需要使用var关键字,这里需要注意的是,这种用法只能在函数内使用,在函数外是不可以这么使用的,使用格式如下:
变量名 := 变量值
如下:
package main
import "fmt"
func main() {
name := "Jack"
age := 20
isTrue := true
fmt.Println(name)
fmt.Println(age)
fmt.Println(isTrue)
}
执行结果如下:
Jack
20
true
四、匿名变量
因为 Go 语言中,声明的变量必须使用,因此,当调用函数有多个返回值,匿名变量就很重要了,在 Go 语言中,匿名变量使用 _ 表示
如下:
import "fmt"
func getNameAndAge()(string,int){
return "Jack", 20
}
func main() {
name, _ := getNameAndAge()
fmt.Println(name)
}
执行结果为:
Jack