相比其它语言的关键字 Go比较简洁只有25个关键字
关键字 |
作用 |
break |
中断本层循环,直接退出本层循环 |
continue |
中断本次循环,进入下一次循环 |
goto |
转向指定代码模块 |
switch |
条件选择,与if else功能类型 |
case |
与switch一起做条件选择,可以与select结合使用 |
default |
与switch一起使用设置默认值 |
for |
循环语句关键字 |
if |
条件判断 |
else |
与if一起做条件筛选 |
fallththrough |
与switch一起继续执行一面的case条件 |
chan |
信道定义 用于channel通讯 |
defer |
defer someCode: 在函数退出之前执行,方法最后执行的操作,新定义的后执行 |
go |
用于并行,开启go-routine |
range |
用于读取slice,map,channel数据,遍历数据 |
type |
用于声明自定义类型 |
map |
map集合类型 key-value存储 |
package |
包名定义,package+包名 |
import |
导入依赖包 |
return |
用于从函数返回,程序退出 |
func |
用于定义函数和方法 |
select |
用于选择不同类型的通讯,监听和channel有关的IO操作 |
struct |
用于定义抽象数据类型,定义实例类型,与type一起使用 |
interface |
用于定义接口,接口类型 |
const |
常量声明 |
var |
变量声明 |
Go语言的语言符号又称为记法元素,共包括5类,它们是组成Go语言代码和程序的最基本单位。
- 标识符(identifier)
- 关键字(keyword)
- 操作符(operator)
- 分隔符(delimiter)
- 字面量(literal),
标识符
标识符可导出的前提条件有两个
在Go语言中还存在一类特殊的标识符,叫做预定义标识符,这类标识符随Go语言的源码一同出现
有下列几种
- 1> 所有基本数据类型的名称
- 2> 接口类型 error
- 3> 常量 true, false 以及 iota
- 4> 所有内联函数的名称
append
cap
close
complex
copy
delete
imag
len
make
new
panic
print
println
real
recover
由一个下划线表示的标识_为空标识符,它一般被用在需要引入一个新绑定声明中
import _ "runtime/cgo"
字面量
-
用于表示基本数据类型值的各种字面量
-
用户构造各种自定义的复合数据类型的类型字面量
type Person struct {
Name string
Age uint8
Address string
}
-
用于表示复合数据类型的值的复合字面量
即用来构造类型Struct(结构体)、Array(数组)、Slice(切片)和Map(字典)的值。
Person(Name: "Eric Pan", Age: 28, Address: "Beijing China"}
类型
一个类型确定了一类值的集合,类型由类型名称或类型字面量指定,类型分为基本类型和复合类型
var name string
基本类型:
- bool string
- int/uint int8/uint8 int16/uint16 int32/uint32 int64/uint64
- float32 float64
- complex64 complex128
- byte rune
八大复合类型:
- Array(数组)
- Struct(结构体)
- Function(函数)
- Interface(接口)
- Slice(切片)
- Map(字典)
- Channel(通道)
- Pointer(指针)
复合类型一般由若个(包括0)个其他已被定义的类型组合而成,
eg: 定义一本书的结构体
type Book struct {
Name string
ISBN string
Press string
TotalPages uint16
}
Go语言中的类型又可以分为静态类型和动态类型,
一个变量的静态类型是指在变量声明中示出的那个类型,绝大多数类型的变量都只拥有静态类型,唯独接口类型的变量除外,它除了拥有静态类型之外,还拥有动态类型,这个动态类型代表了在运行时与该变量绑定在一起的值的实际类型。
|
请发表评论