Go语言中的变量和常量是编码中不可缺少的一部分,它是用来存储程序执行过程中的值或结果。
变量
变量
是用于存储程序中的可变的值或结果。变量的命名只能有字母、数字、下划线组成,且只能由字母或下划线开头。
变量声明
变量必须先声明、后使用,且声明后必须使用。
// 声明单个变量,格式:var 变量名 变量类型
var name string
// 声明多个同类型变量
var name1, name2 string
// 批量声明多个不同类型的变量
var (
name3 string
age int
)
变量赋值
上面声明过的变量,这里给其赋值:
name = "alice" // 单个赋值
name1, name2 = "bob", "jan" // 多个变量赋值
当然,也可以声明变量时直接赋值:
// 单个变量声明并赋值
var name4 string = "alice"
// 多个同类型变量声明并赋值
var name5, name6 string = "bob", "jan"
// 多个不同类型的变量声明和赋值
var (
name7 string = "alice"
age int = 18
)
类型推导
变量类型推导是指,变量声明和赋值时不指定变量类型,程序会根据值自动推导其类型。注意:这种用法只能写在函数体内。
// 在声明变量时直接赋值,变量类型自动根据值推断其类型
// 因为值为字符串,所以name8的类型就是字符串类型
name8 := "alice"
// 多个变量赋值,自动推导name9类型为字符串,age9类型为int
name9, age9 := "alice", 18
常量
常量
是用于存储程序中的不可变的值或结果。常量的命名和变量的命名规则一样。与变量不同的是,常量在声明时必须赋值,且赋值后不能修改其值。
const pi float32 = 3.14 // 声明单个常量
const n1, n2 int = 0, 1 // 声明多个同类型的变量
const ( // 批量声明
m1 int = 1 // 指定类型
m2 = 2 // 不指定类型,自动推导
)
iota
iota
是Go语言中常量自增计数器。
const (
l0 = iota // 初始值为0
l1 // l1自动递增,它的值是1
l2 // l2的值是2
)