标识符的命名规范
由字母数字和_(下划线)组成,并且只能以字母和_开头
Go中的25个关键字
break default func interface select
case defer go map struct
chan else goto package switch
const fallthrough if range type
continue for import return var
Go变量的声明
//单个申请
var name string
var age int
var isOk bool
//批量申请变量
var (
name string
age int
isOk bool
)
//批量申请常量
const (
statusOK = 200
notFound = 404
)
//n2,n3...延续第一个的值
const (
n1 = 666
n2
n3
)
//多个常量声明在一行
const (
d1, d2 = iota + 1, iota + 2 //d1=1;d2=2
d3, d4 = iota + 1, iota + 2 //d3=2;d4=3
)
//变量的初始化
//1.声明的同时赋值
var s1 string = "tiezhu"
//2.类型推导(根据值判断该变量的类型)
var s2 = "gaiya"
//3.简短变量声明 只能在函数内部使用
s3 := "tiedan"
//4.匿名变量
_ = "wuming"
- 函数外只能放置标识符的声明(变量/常量/函数/类型)
- Go语言中如果标识符的首字母是大写的话 就表示是对外部包是可见的
- 声明的变量必须被使用到,否则无法编译
- 函数内部申请变量可是使用 :=
- 同一作用域中不能重复申明同名的变量
- 匿名变量不占用命名空间,不会分配内存,所以匿名变量之间不存在重复声明。
const (
a1 = iota //0
a2 //1
a3 //2
)
const (
b1 = iota //0
_ //1
b2 //2
)
const (
x = iota //0
y //1
z = "zz" //zz
k //zz
p = iota //4
)
//使用案例 -定义数量级
const (
_ = iota
KB = 1 << (10 * iota)
MB = 1 << (10 * iota)
GB = 1 << (10 * iota)
TB = 1 << (10 * iota)
PB = 1 << (10 * iota)
)
iota :
1.当const出现就会被置为0 const中每新增一行常量声明iota就会计数一次
2.go语言的常量计数器,只能在常量的表达式中使用。
数字字面量语法
可以在申请变量时以二进制、八进制或十六进制浮点数的格式定义数字
- v := 0b00101101, 代表二进制的 101101,相当于十进制的 45。
- v := 0o377,代表八进制的 377,相当于十进制的 255。
- v := 0x1p-2,代表十六进制的 1 除以 2²,也就是 0.25
- 允许我们用 _ 来分隔数字,比如说:v := 123_456 等于 123456