Go语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。
* 顺序结构:程序按顺序执行,不发生跳转。
* 选择结构:依据是否满足条件,有选择的执行相应功能。
* 循环结构:依据条件是否满足,循环多次执行某段代码。
- 1. 初识Go语言
- Go语言介绍
- Go语言是什么
- Go语言优势
- Go适合用来做什么
- 环境搭建
- 安装和设置
- 标准命令概述
- 第一个Go程序
- Hello Go
- 代码分析
- 命令行运行程序
- 2. 基础类型
- 命名
- 变量
- 变量声明
- 变量初始化
- 变量赋值
- 匿名变量
- 常量
- 字面常量(常量值)
- 常量定义
- iota枚举
- 基础数据类型
- 分类
- 布尔类型
- 整型
- 浮点型
- 字符类型
- 字符串
- 复数类型
- fmt包的格式化输出输入
- 格式说明
- 输出
- 输人
- 类型转换
- 类型别名
- 3. 运算符
- 算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
- 其他运算符
- 运算符优先级
- 4. 流程控制
- 选择结构
- if语句
- if
- if ... else
- if ... else if ... else
- switch语句
- 循环语句
- for
- range
- 跳转语句
- break和continue
- goto
- 5. 函数
- 定义格式
- 自定义函数
- 无参无返回值
- 有参无返回值
- 普通参数列表
- 不定参数列表
- 无参有返回值
- 一个返回值
- 多个返回值
- 有参有返回值
- 递归函数
- 函数类型
- 匿名函数与闭包
- 延迟调用defer
- defer的作用
- 多个defer执行顺序
- defer和匿名函数结合使用
- 获取命令行参数
- 作用域
- 局部变量
- 全局变量
- 不同作用域同名变量
- 6. 工程管理
- 工作区
- 工作区介绍
- GOPATH设置
- 包
- 自定义包
- main包
- main函数和init函数
- 导入包
- 点操作
- 别名操作
- _ 操作
- 7. 复合类型
- 分类
- 指针
- 基本操作
- new函数
- 指针做函数参数
- 数组
- 概述
- 操作数组
- 在函数间传递数组
- slice
- 概述
- 切片的创建和初始化
- 切片的操作
- 切片截取
- 切片和底层数组关系
- 内建函数
- append
- copy
- 切片做函数参数
- map
- 概述
- map的创建和初始化
- 常用操作
- 赋值
- 遍历
- 删除
- map做函数参数
- 结构体
- 结构体类型
- 结构体初始化
- 普通变量
- 指针变量
- 结构体比较
- 结构体作为函数参数
- 值传递
- 引用传递
- 可见性
- 8. 面向对象编程
- 概述
- 匿名组合
- 匿名字段
- 初始化
- 成员的操作
- 同名字段
- 其它匿名字段
- 非结构体类型
- 结构体指针类型
- 方法
- 概述
- 为类型添加方法
- 基础类型作为接收者
- 结构体作为接收者
- 值语义和引用语义
- 方法集
- 类型 *T 方法集
- 类型 T 方法集
- 接口
- 概述
- 接口的使用
- 接口定义
- 接口实现
- 接口组合
- 接口嵌入
- 接口转换
- 空接口
- 类型查询
- comma-ok断言
- switch测试
- 9. 异常处理
- error接口
- panic
- recover
- 10. 文本文件处理
- 字符串处理
- 字符串操作
- Contains
- Join
- Index
- Repeat
- Replace
- Split
- Trim
- Fields
- 字符串转换
- Append
- Format
- Parse
- 正则表达式
- JSON处理
- 编码JSON
- 通过结构体生成JSON
- (1) 编码JSON
- (2) struct tag
- 通过map生成JSON
- 解码JSON
- 解析到结构体
- 解析到interface
- 文件操作
- 相关api介绍
- 建立与打开文件
- 写文件
- 读文件
- 删除文件
- 示例代码
- 写文件
- 读文件
- 11. 并发编程
- 概述
- 11.1.1 并行和并发
- 11.1.2 Go语言并发优势
- goroutine
- 11.2.1 goroutine是什么
- 11.2.2创建goroutine
- 11.2.3 runtime包
- 11.2.3.1 Gosched
- 11.2.3.2 Goexit
- 11.2.3.3 GOMAXPROCS
- channel
- channel类型
- 无缓冲的channel
- 有缓冲的channel
- range和close
- 单方向的channel
- 定时器
- Timer
- Ticker
- select
- select作用
- 超时
- 12. 网络编程
- 网络概述
- 12.1.1 网络协议
- 12.1.2 分层模型
- 12.1.2.1 网络分层架构
- 12.1.2.2 层与协议
- 12.1.2.3 每层协议的功能
- (1) 链路层
- (2) 网络层
- (3) 传输层
- (4) 应用层
- Socket编程
- 12.2.1 什么是Socket
- 12.2.2 TCP的C/S架构
- 12.2.3 示例程序
- 12.2.3.1 服务器代码
- 12.2.3.2 客服端代码
- 12.2.3.3 运行结果
- HTTP编程
- 概述
- Web工作方式
- HTTP协议
- 地址(URL)
- HTTP报文浅析
- 请求报文格式
- (1) 测试代码
- (2) 请求报文格式说明
- 响应报文格式
- (1) 测试代码
- (2) 响应报文格式说明
- HTTP编程
- HTTP服务端
- HTTP客户端