本文最后更新于 2024-10-09,文章内容可能已经过时。

Go语言变量

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。

变量可以通过变量名访问。

Go 语言变量名由字母、数字、下划线组成,其中首个字符不能为数字。

一、变量声明

Go语言中,变量的声明一般形式使用 var 关键字:

var identifier type

可以一次声明多个变量:

var identifier1, identifier2 type

二、零值

未初始化的变量将具有零值,具体的零值取决于变量的类型。例如:

  • 数值类型(包括complex64/128)为 0
  • 布尔类型为 false
  • 字符串为 ““(空字符串)
  • 引用类型(如指针、切片、映射、接口、通道、函数)为 nil

三、变量的初始化

Go语言支持多种方式来声明和初始化变量。

四、指定变量类型

var v_name v_type
v_name = value

五、自行判定变量类型

var v_name = value

六、使用 := 简写形式

在函数体内,可以使用 := 来声明并初始化变量,这种形式常用于局部变量的声明:

v_name := value

这是使用变量的首选形式,但只能在函数体内使用,不可以用于全局变量的声明和赋值。

七、多变量声明和赋值

可以一次声明多个变量并赋值,例如:

var a, b, c int = 1, 2, 3

或者更简洁的方式:

a, b, c := 1, 2, 3

八、空白标识符

Go语言中,可以使用空白标识符 _ 来抛弃某个值,特别是在并行赋值和函数返回多个值时,如果不需要某个值,可以使用空白标识符来忽略它。

九、值类型和引用类型

  • 值类型变量直接存储值,赋值时拷贝。
  • 引用类型变量存储的是值的内存地址,多个引用指向同一块内存。

十、总结

  1. Go语言中,变量是用于存储数据的容器,每个变量都有一个名称、类型和值。
  2. 变量的声明一般使用var关键字,可以指定变量的类型,如 var name string,也可以通过初始化来推断类型,如 name := "Runoob"
  3. 未初始化的变量将具有零值,具体的零值取决于变量的类型,例如,整数类型的零值是0,布尔类型的零值是false,字符串类型的零值是空字符串。
  4. 在函数体内,可以使用:=来声明并初始化变量,这种形式常用于局部变量的声明,例如:a := 50
  5. Go语言支持多变量的声明和赋值,你可以一次声明多个变量,也可以在一行中同时为多个变量赋值。
  6. 并行赋值是Go语言中常见的操作,可以方便地交换两个变量的值或同时接收函数返回的多个值。
  7. 空白标识符 _ 可以用于抛弃某个值,特别是在并行赋值和函数返回多个值时,如果不需要某个值,可以使用空白标识符来忽略它。