我正在参加「掘金·启航计划」
1、变量
Go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明。Go语言中的变量必须声明后才能使用。
变量是一个抽象概念,它有内存地址,数据类型和值组成:
- 内存地址:给出了变量在内存中存储的其实地址,一般占用4或8字节(32位、64位机器)。
- 数据类型:定义了变量占用内存的大小。
- 值:表示内存地址中存放的内容。
1.1、标准声明
变量声明以关键字var开头,变量类型放在变量的后见面,行尾无需分号。
var 变量名 变量类型
var name string
var age int
1.2、批量声明
var (
a string
b int
c bool
)
1.3、变量的初始化
Go语言在声明变量的时候,会自动对变量对应的内存区域进行初始化操作,会被初始化为类型默认的零值。
var 变量名 类型 = 表达式
var name string = "test"
var age int = 18
1.4、短变量声明
在函数内部,可以使用简略的:=方式声明并初始化变量,不能在函数外使用。
func main(){
a := 1
c := true
}
1.5、匿名变量
在使用多重赋值时,如果要忽略某个值,可以使用匿名变量。匿名变量用一个下划线_表示,多用于占位,表示忽略值。
匿名变量不占用命名空间,不会分配内存,可以重复定义。任何类型变量都可以赋值给它,但是不能使用它,也不能将它赋值给其他变量和参与运算(即只能作为左值) 。
for _, v := range map {
}
2、常量
2.1、常量定义
常量是恒定不变的值,用关键字const声明,常量在定义的时候必须赋值。
常量声明后在程序运行期间它们的值就不能再发生变化了。
const pi = 3.1415
const e = 2.7182
//多个常量一起声明
const (
a = 1
b = 2
)
const 同时声明多个常量时,如果省略了值表示和上面一行的值相同
const (
a = 100 //100
b //100
c //100
d //100
)
2.2、iota
iota是go语言的常量计数器,只能在常量的表达式中用,iota在const关键字出现时被重置为0,const中每新增一行常量声明将使iota计数一次(iota可以理解为const语句块中的行索引),在定义枚举时很有用。
const (
n1 = iota //0
n2 //1
_ //
n4 //3
n5 =100 //插队
n6 // 5
n7 = iota // 6
n8 //7
)
2.2.1、iota练习
const (
a, b = iota + 1, iota + 2 //1,2
c, d //2,3
e, f //3,4
)