关键字
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
除了这些,还有37个保留字
Constants: true false iota nil
Types: int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
float32 float64 complex128 complex64
bool byte rune string error
Functions: make len cap new append copy close delete
complex real imag
panic recover
标识符
Go语言中的标识符是由字母和数字和下划线(_)组成,并且不能以数字开头,例如,funct,ABC,_funct,_123,funct1,abc1。
变量
- 定义:变量就是可以存储数据的内存块,它有名称,地址。
- 类型:变量的功能就是存储数据,不同的数据有不同的类型,常见的变量类型有,整型,字符型,浮点型,布尔型等。
- 声明:Go语言中,变量必须先声明,后使用,声明之后必须使用。并且在同一作用域下不支持重复声明。
//声明一个变量名为 ma的 char类型的变量
var ma char
//批量声明
var (
a string
b int
c char
d float
)
- 变量的初始化:Go语言中,在声明变量的时候,会自动对其进行初始化操作,它会被初始化为其类型的默认值,例如,整型的默认值为 0,字符串的默认值为空字符串,bool类型的默认值为false。
//变量初始化标准格式
var 变量名 类型 = 表达式
var name string = "zhangsan"
var age int = 18
//批量初始化操作
var name, age = "lisi", 20
//类型推导,当省略类型时,编译器会通过右值推导变量的类型来完成初始化
var name = "wangwu"
var age = 22
//短变量声明,在函数内部通过更简短的方式声明变量
package main
import(
"fmt"
)
func main(){
n := 10 //声明一个整型局部变量n
m := 20 //声明一个整型局部变量m
fmt.Println(m, n)
}
//注意事项:":="不能在函数外使用
//匿名变量:在使用多重变量赋值时,若想要省略某个值,可以
//使用匿名变量,匿名变量用"_"表示
package main
import(
"fmt"
)
func Example()(int, string){
return 21, "JHC"
}
func main(){
x, _ := Example()
_, y := Example()
fmt.Println(x)
fmt.Println(y)
}
常量
常量就是恒定不变的量,常量的定义与变量类似,只是将var换做const,并且常量在定义的时候必须赋值。
//非批量声明
const PI = 3.142 //定义一个名称为PI的常量
const e = 2.718 //定义一个名称为e的常量
//批量声明
const(
PI = 3.142
e = 2.718
)
//注意事项,批量声明常量时,若省略了值则表示与上一行的值相同
const(
ma = 10;
mb //mb = 10
mc //mc = 10
)
//声明多个变量时,若省略其值,则表示与上一行的值相同
const(
ma = 100
mb
mc
)
//ma = mb = mc = 100,ma,mb,mc的值都为100。
iota
iota是Go语言中的常量计数器,只能在常量表达式中使用。
其在const关键字出现时被置为0,const没新增一行常量声明将使得iota计数一次。
const(
ma = iota //0
mb //1
mc //2
)
//注意事项:使用_跳过某些值
const(
ma = iota //0
mb //1
_
mc //3
)
//iota声明中间多了其他声明
const(
ma = iota //0
mb = 10 //10
mc = iota //2
md //3
)
const me = iota //0