变量声明格式
var 变量名 变量类型
变量声明并指定初始值
var 变量名 类型 = 表达式
标准声明
变量声明以关键字var
开头,变量类型放在变量的后面,行尾无需分号。
var name string
var age int
var isOk bool
变量声明并赋值
var name string = "ZhangSan"
var age int = 20
var isOk bool = false
批量声明
全局变量
因式分解关键字(批量声明)的写法一般用于声明全局变量。
var (
a string
b int
c bool
d float32
)
变量声明并赋值
var (
a string ="10"
b int = 20
c bool = false
d float32 = 12.5
)
局部变量
变量类型相同
var name,school string = "ZhangSan","Xjtucc"
- 变量类型可省略
var name,school = "ZhangSan","Xjtucc"
变量类型不同
var name, sex = "pprof.cn", 1
- 变量类型省略时一定要初始化,否则程序将无法完成变量类型推导。
短变量声明(:=)
在函数内部,可以使用更简略的 := 方式声明并初始化变量。
func main() {
n := 10
m := 200 // 此处声明局部变量m
fmt.Println(m, n)
}
- :=不能使用在函数外。
匿名变量
在使用多重赋值时,如果想要忽略某个值,可以使用匿名变量(anonymous variable)
。 匿名变量用一个下划线_表示:
func main() {
x, _ := foo()
_, y := foo()
fmt.Println("x=", x)
fmt.Println("y=", y)
}
- 匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。
- _多用于占位,表示忽略值。
变量初始化
若变量在声明时没有指定初始值,则其会被初始化为该类型对应的默认零值。
默认零值
类型 | 默认零值 | 描述 |
---|---|---|
整型 | 0 | |
浮点型 | 0 | |
复数类型 | 0 | |
布尔型 | false | |
字符串 | “” | |
指针 | nil | |
数组 | nil | |
映射(字典) | nil | |
管道 | nil | |
切片 | nil | |
函数 | nil | |
error | nil | 接口 |
Go语言学习(常量)
常量声明格式
显示类型定义
const 常量名 常量类型 = 值
隐式类型定义
const 常量名 = 值
- 常量使用
const
关键字声明 - 常量在定义时必须赋值
单常量声明
const pi = 3.1415
const e = 2.7182
多常量声明
const (
pi = 3.1415
e = 2.7182
)
const
同时声明多个常量时,如果省略了值则表示和上面一行的值相同。
const (
n1 = 100
n2
n3
)
常量计数器(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
多个iota
定义在一行
const (
a, b = iota + 1, iota + 2 //1,2
c, d //2,3
e, f //3,4
)