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

声明变量

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

声明变量的语法

1
var identifier type

var:声明变量关键字

identifier:变量名称

type:变量类型

例如

1
2
3
4
5
6
7
8
9
package main

import "fmt"

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

批量声明

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

1
2
3
4
5
6
7
8
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 = "老郭"
var site string = "www.duoke360.com"
var age int = 30
}

类型推导

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

1
2
3
4
5
6
package main
func main() {
var name = "老郭"
var site = "www.duoke360.com"
var age = 30
}

初始化多个变量

可以一次初始化多个变量,中间用逗号分隔。

1
2
3
4
package main
func main() {
var name, site, age = "老郭", "www.duoke360.com", 30
}

短变量声明

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

1
2
3
4
5
6
7
package main

func main() {
name := "老郭"
site := "www.duoke360.com"
age := 20
}

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

匿名变量

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

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

import "fmt"

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

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