变量初始化
变量来源于数学,是计算机语言中能储存计算结果或能表示值的抽象概念;
变量可以通过变量名来表示;
变量名包括数字,字母,下划线组成,其中第一个字符不能为数字;
在 Go 语言中变量和常量都要先声明;
使用 var来声明变量的变量名和值
例如:
go
package main
func main() {
// 声明变量(未初始化,使用零值)
var name string // 默认 ""
var age int // 默认 0
var score float64 // 默认 0.0
var isPass bool // 默认 false
// 声明并初始化
var name2 string = "张三"
var age2 int = 18
// 类型推断(省略类型)
var name3 = "李四"
var age3 = 20
}
短变量声明
使用:=的方法可以进行短变量声明,编译器自动进行类型推断
例如:
go
func main() {
name := "王五" // 等价于 var name string = "王五"
age := 25
score := 95.5
// 多个变量同时声明
x, y := 10, 20
a, b := "hello", true
}
批量声明
使用 var 关键字配合圆括号可以批量声明多个变量
例如:
go
func main() {
var (
name string
age int
city string = "北京"
height float64 = 175.5
)
// 短变量声明也可以批量声明
username, password := "admin", "123456"
}
注意事项
-
变量必须先声明再使用
-
短变量声明
:=只能在函数内部使用 -
局部变量声明后必须被使用,否则编译报错
-
全局变量可以不使用(不会报错)
-
变量名不能与关键字冲突
常量初始化
常量来源于数学,是计算机语言中表示固定值、不可改变的抽象概念;
常量可以通过常量名来表示;
常量名包括数字,字母,下划线组成,其中第一个字符不能为数字;
在 Go 语言中变量和常量都要先声明;
常量一旦声明就不能被修改;
使用 const 来声明常量的常量名和值
例如:
go
package main
func main() {
// 声明常量(必须初始化)
const name string = "张三"
const age int = 18
const score float64 = 95.5
const isPass bool = true
// 类型推断(省略类型)
const name2 = "李四"
const age2 = 20
const score2 = 88.5
}
批量声明
使用 const 关键字配合圆括号可以批量声明多个常量
例如:
go
func main() {
const (
name string = "王五"
age int = 25
city string = "北京"
height float64 = 175.5
)
// 类型推断批量声明
const (
username = "admin"
password = "123456"
maxCount = 100
)
}
iota 常量生成器
iota 是 Go 语言中预定义的一个特殊常量生成器,用于生成一组以相似规则初始化的常量
例如:
go
func main() {
const (
a = iota // 0
b = iota // 1
c = iota // 2
)
// 简写形式(省略后续的 iota)
const (
d = iota // 0
e // 1
f // 2
)
// 使用 iota 定义枚举
const (
Sunday = iota // 0
Monday // 1
Tuesday // 2
Wednesday // 3
Thursday // 4
Friday // 5
Saturday // 6
)
}
注意事项
-
常量必须初始化,不能只声明不赋值
-
常量一旦声明,值不能被修改
-
常量不能使用
:=短变量声明语法 -
常量可以使用
iota生成器自动递增 -
常量可以是未使用的(不会报编译错误)
-
常量名通常使用大写字母或驼峰命名法
-
常量只能修饰布尔、数字(整数、浮点数、复数)和字符串类型