变量和常量
约 695 字大约 2 分钟
2025-07-04
变量
Go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明。并且Go语言的变量声明后必须使用。
变量声明
Go语言的变量声明格式为: var 变量名 变量类型
, 举个栗子:
// 单个声明
var name string
var age int
var isOk bool
// 批量声明
var (
name string
age int
isOk bool
floatNumber float32
)
变量初始化
变量初始化的标准格式为: var 变量名 变量类型 = 表达式
, 举个栗子:
代码示例
package main
import "fmt"
// 初始化单个变量
var name string = "sreio"
var age int = 18
// 初始化多个变量
// var name, age = "sreio", 18
// 类型推导(编译器会根据等号右边的值来推导变量的类型完成初始化)
// var name = "sreio"
// var age = 18
// 短变量声明(在函数内部,可以使用更简略的 := 方式声明并初始化变量)
// name := "sreio"
// age := 18
// 匿名变量(匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明)
func foo() (int, string) {
return 18, "sreio"
}
func main() {
age, _ := foo()
_, name := foo()
fmt.Println("age=", age)
fmt.Println("name=", name)
}
短变量声明只能在函数内部使用
常量
// 常量在定义的时候必须赋值
const pi = 3.1415
const e = 2.7182
// 批量定义常量
const (
pi = 3.1415
e = 2.7182
)
// const同时声明多个常量时,如果省略了值则表示和上面一行的值相同
const (
n1 = 100
n2
n3
)
// n1、n2、n3的值都是100
itoa
iota
是 go
语言的常量计数器,只能在 常量
的表达式中使用。
iota
在 const
关键字出现时将被重置为 0
。
const
中每新增一行常量声明将使iota
计数一次(iota
可理解为const
语句块中的行索引)。 使用iota
能简化定义,在定义枚举时很有用。
const (
n1 = iota //0
n2 //1
n3 //2
n4 //3
)
// 使用_跳过某些值
const (
n1 = iota //0
n2 //1
_
n4 //3
)
// iota声明中间插队
const (
n1 = iota //0
n2 = 100 //100
n3 = iota //2
n4 //3
)
const n5 = iota //0
// 定义数量级
// 这里的<<表示左移操作,1<<10表示将1的二进制表示向左移10位,也就是由1变成了10000000000,
// 也就是十进制的1024。同理2<<2表示将2的二进制表示向左移2位,也就是由10变成了1000,也就是十进制的8。
const (
_ = iota
KB = 1 << (10 * iota)
MB = 1 << (10 * iota)
GB = 1 << (10 * iota)
TB = 1 << (10 * iota)
PB = 1 << (10 * iota)
)
// 多个iota定义在一行
const (
a, b = iota + 1, iota + 2 //1,2
c, d //2,3
e, f //3,4
)
贡献者
更新日志
2025/7/4 07:21
查看所有更新日志
0d7a0
-go基础于