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

1. 声明变量

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

申明变量的语法

  1. var identifier type

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

例如:

  1. package main
  2. import "fmt"
  3. func main(){
  4. var name string
  5. var age int
  6. var ok bool
  7. }

2. 批量声明

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

  1. package main
  2. func main() {
  3. var (
  4. name string
  5. age int
  6. ok bool
  7. )
  8. }

2.1 变量的初始化

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

变量初始化语法

  1. var 变量名 类型 = 表达式

例如:

  1. package main
  2. func main() {
  3. var name string = "七月"
  4. var site string = "myiszhb@gmail.com"
  5. var age int = 24
  6. }

2.2 类型推导

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

  1. package main
  2. func main() {
  3. var name = "七月"
  4. var site = "myiszhb@gmail.com"
  5. var age = 24
  6. }

2.3 初始化多个变量

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

  1. package main
  2. func main() {
  3. var name,site,age = "七月","myiszhb@gmail.com",24
  4. }

3. 短变量声明

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

  1. package main
  2. func main() {
  3. name := "七月"
  4. site := "myiszhb@gmail.com"
  5. age := 24
  6. }

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

4. 匿名变量

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

  1. package main
  2. import (
  3. "fmt"
  4. )
  5. func getNameAndAge() (string, int) {
  6. return "七月", 24
  7. }
  8. func main() {
  9. name, _ := getNameAndAge()
  10. fmt.Printf("name: %v\n", name)
  11. }