变量是计算机语言中能储存计算结果或能表示值的抽象概念。不同的变量保存的数据类型可能会不一样。

声明变量

Go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明。并且Go语言的变量声明后必须使用。

声明变量的语法

1
var identifier type

var: 声明变量关键字
identifier:变量名称
type:变量类型

例如

1
2
3
4
5
6
7
8
package main

func main() {
var name string
var age int
var ok bool
}

批量声明

使用一个var关键字,把一些变量写在一个括号()

1
2
3
4
5
6
7
8
9
package main

func main() {
var (
name string
age int
ok bool
)
}

变量的初始化

Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作。每个变量会被初始化成其类型的默认值,例如:整型和浮点型变量的默认值是0。字符串变量的默认值为空字符串""。布尔型变量默认值为false。切片、函数、指针变量的默认值为nil

变量初始化语法

1
var 变量名 类型 = 表达式

例如

1
2
3
4
5
6
package main
func main() {
var name string = "ren"
var site string = "www.baidu.com"
var age int = 30
}

类型推导

我们在声明变量时,可以根据初始化值进行类型推导,从而省略类型。

1
2
3
4
5
6
package main

func main() {
name := "ren"
age := 30
}

初始化多个变量

1
2
3
4
5
package main

func main() {
var name, site, age = "ren", "www.baidu.com", 30
}

短变量声明

在函数内部,可以使用:=运算符对变量进行声明和初始化

1
2
3
4
5
6
package main

func main() {
name := "ren"
site := "renm.cc"
}

注意:这种方法只适合在函数内部,函数外面不能使用。

匿名变量

如果我们接收到多个变量,有一些变量使用不到,可以使用下划线_表示变量名称,这种变量叫做匿名变量。例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
package main

import "fmt"

func main() {
name, _ := getNameAndAge()
fmt.Printf("name: %v\n", name)
}

func getNameAndAge() (string, int) {
return "ren", 30
}