Go语言随笔
一、识
Go(又称 Golang)是 Google 的 Robert Griesemer,Rob Pike 及 Ken Thompson 开发的一种静态强类型、编译型语言。Go 语言语法与 C 相近,但功能上有:内存安全,GC(垃圾回收),结构形态及 CSP-style 并发计算。
?
?
?
1、关键字
关键字 | 场景用途 | 一级分类 | 二级分类 | 三级分类 |
---|---|---|---|---|
var | 变量声明 | 基本结构 | 变量与常量 | - |
const | 常量声明 | 基本结构 | 变量与常量 | - |
package | 包声明(代码在包中分组为一个单元) | 基本结构 | 包管理 | - |
import | 包引用(导入软件包) | 基本结构 | 包管理 | - |
func | 函数声明 | 基本组件 | 函数 | - |
return | 返回一个变量值 | 基本组件 | 函数 | - |
interface | 一种抽象类型,可指定方法集 | 基本组件 | 自定义类型 | - |
struct | 定义对象结构体 | 基本组件 | 自定义类型 | - |
type | 引入新的结构类型 | 基本组件 | 自定义类型 | - |
map | 定义键值对的无序集合的映射 | 基本组件 | 引用类型 | - |
range | 迭代列表项 (如 map 或 数组) 上的项 | 基本组件 | 引用类型 | - |
go | go触发一个goroutine,由golang运行时管理 | 流程控制 | 并发 | - |
select | 使goroutine在同步通信操作期间等待 | 流程控制 | 并发 | - |
chan | 在执行中,定义通道,以允许并行 | 流程控制 | 并发 | - |
defer | 推迟执行功能,直到周围的功能执行为止 | 流程控制 | 延时流程控制 | - |
goto | 无条件跳转至带标签的语句 | 流程控制 | 单任务流程控制 | - |
if | if条件判断 | 流程控制 | 单任务流控制 | 单分支流程 |
else | if之后的else判断 | 流程控制 | 单任务流控制 | 单分支流程 |
switch | 启动循环并在块内使用if-else的逻辑 | 流程控制 | 单任务流程控制 | 多分支流程 |
case | switch语句里的那个case,指定匹配场景 | 流程控制 | 单任务流程控制 | 多分支流程 |
default | 这个是可选的,case都没匹配上就跳到default里 | 流程控制 | 单任务流程控制 | 多分支流程 |
fallthrough | case里加上这个,相当于continue,进行继续匹配之后的case | 流程控制 | 单任务流程控制 | 多分支流程 |
for | for 循环 | 流程控制 | 单任务流程控制 | 循环流程 |
break | 终止循环并继续执行之后代码 | 流程控制 | 单任务流程控制 | 循环流程 |
continue | 返回到 “ for” 循环的开头 | 流程控制 | 单任务流程控制 | 循环流程 |