1.1 关键字
break default func interface select case defer go map struct
chan else goto package swith const failthrough if range type
continue for import retrurn var
1.2 保留字
Constants: true false ioto nil
Types: int int8 int32 int64
uint uint8 uint32 uint64 uintptr
float32 float64 complex128 comlex64
Functions: make len cap new append copy close delete
complex real imag
panic recover
二、变量
2.1 声明变量
2.1.1 单独声明变量
var 变量名 变量类型
如:var age int
var name string
var age int
2.1.2 批量声明变量
var (
name string
age int
)
2.1.3 声明变量并赋值
var s1 string="zhangsan"
`或者类型推导(根据值判断变量是什么类型)`
var s2 = "20"
`或者短变量声明:=(只能在函数中使用)`
s3 := "李四"
2.1.4 匿名变量
`在使用多重赋值时,如果想要忽略某个值,可以使用匿名变量。匿名变量用一个下划线表示`
import "fmt"
func foo() (string, string) {
return "apple", "banana"
}
func main() {
x, _ := foo()
fmt.Println(x)
}
2.1.5 注意事项
Go语言在函数中定义的变量必须要进行赋值。
在全局变量中可以不被使用和赋值
同一个作用域不能对同一个变量重复声明
2.2 常量
常量定义后在程序运行期间无法修改
2.2.1 单独创建
const 变量名 = 值
2.2.2 批量创建
const (
status = 200
notFound = 404
)
2.2.3 默认值
const (
n1 = 100
n2
n3
)
// n2、n3默认也是100
2.3 iota
iota 是go语言的常量计数器,只能在常量的表达式中使用
iota在const关键字出现时将被重置为0,const中每新增一行常量声明将使iota计数一次,一般多用于枚举
const (
a1 = iota //0
a2 //1
a3 //2
)
2.3.1 常见的事例
const (
b1 = iota //0
b2 //1
- //2
b3 //3
)
const (
c1 = iota //0
c2 = 100 //100
c3 = iota //2 每新增一行iota +1
c4 //3
)
`多个常量声明在一行`
const (
d1, d2 = iota + 1, iota + 2 //d1=1,d2=2
d3, d4 = iota + 1, iota + 2 //d3=2,d4=3
)
`定义数量集`
const (
_ = iota
KB = 1 >> (10 * iota) //2的10次方
MB = 1 >> (10 * iota) //2的20次方
GB = 1 >> (10 * iota) //2的30次方
TB = 1 >> (10 * iota) //2的40次方
PB = 1 >> (10 * iota) //2的50次方
)