小健_Python_go_Devops
latest
Go语言学习
1. Go语言基本语法
1.1. 声明变量
1.2. 数据类型
1.3. 指针
1.4. 变量声明周期
1.5. 字符串应用
1.6. 常量-恒定不变的值
1.7. 类型别名
1.8. 编译与工具
1.9. 项目组织的结构
2. 容器-数据结构
3. 流程控制
4. 函数
5. 结构体
6. 接口
7. 包
8. 并发
9. 反射
10. 标准库和三方库
11. 项目代码
12. 避坑与技巧
Go vs Python
Python全栈系列
Python测试开发入门与实践
Vue.js企业开发实战
Vue.js+Node.js开发实战
小健_Python_go_Devops
»
Go语言学习
»
1.
Go语言基本语法
Edit on GitHub
1.
Go语言基本语法
¶
1.1. 声明变量
1.1.1. 初始化变量
1.1.2. 标准格式
1.1.3. 编译器自己推导类型的格式
1.1.4. 短变量声明并初始化
多个变量同时赋值
匿名变量-没有名字的变量
1.1.5. 函数变量可见性
1.2. 数据类型
1.2.1. 整型
1.2.2. 浮点型
1.2.3. 布尔型
1.2.4. 字符串
定义多行字符串
1.2.5. 格式化动词打印
格式化值宽度
1.2.6. 字符
UTF-8和Unicode 有何区别?
1.2.7. 切片
1.2.8. 转换不同的数据类型
1.3. 指针
1.3.1. 指针概念在Go语言中被拆分称为两个核心概念
1.3.2. 认识指针地址和指针类型
1.3.3. 从指针获取指针指向的值
1.3.4. 使用指针修改值
1.3.5. 值的传递和引用的传递
示例:使用指针变量获取命令行的输入信息
1.3.6. 创建指针的另一种方法-new()函数
传值和传引用
1.3.7. 指针的核心要点
空指针
使用指针
1.4. 变量声明周期
1.4.1. 1.什么是栈
1.1变量和栈有什么关系
1.4.2. 2.声明是堆
1.4.3. 变量逃逸(Escape Analysis)-自动决定变量分配方式,提高运行效率
1.逃逸分析
2.取地址发生逃逸
1.5. 字符串应用
1.5.1. 1.计算字符串长度
1.5.2. 2.字符串拼接
2.1 直接使用运算符
2.2 bytes.Buffer
2.3 strings.Builder
1.5.3. 3.有关string的处理
1.5.4. 4.遍历字符串-获取每一个字符串元素
4.1遍历每一个ASCII字符
4.2 按Unicode字符遍历字符串
1.5.5. 5.获取字符串的某一段字符
1.5.6. 6.修改字符串
1.5.7. 7.格式化
1.5.8. 8.Base64解码-电子邮件的基础解码格式
1.5.9. 9.从INI配置文件中查询需要的值
1.INI文件的格式
2.从INI文件中取值的函数
3.读取文件
4.读取行文本
5.读取段
6.读取键值
7.完整代码示例
1.5.10. 10.字符串的常见操作
1.6. 常量-恒定不变的值
1.6.1. 枚举 — 一组常量值
1.6.2. 将枚举值转换为字符串
1.7. 类型别名
1.7.1. 1.类型别名
1.7.2. 2.区分类型别名与类型定义
1.7.3. 3.非本地类型不能定义方法
1.7.4. 4.在结构体成员嵌入时使用别名
1.8. 编译与工具
1.8.1. 1. 需要GOPATH支持的方式
1.8.2. 2.不需要GOPATH环境变量支持的设置
2.1 在项目中使用go module
2.2 go module版本管理工具使用
1.8.3. 3.编译(go build)
3.1 go build无参数编译
3.2 go build+文件列表
3.3 go build+包
3.4 go build编译时的附加参数
1.8.4. 4.编译后运行(go run)
1.8.5. 5.编译并安装(go install)
1.8.6. 6.一键获取代码、编译并安装(go get)
6.1 远程包的路径格式
6.2 go get + 远程包
6.3 go get 使用时的附加参数
1.8.7. 7. go vet
1.8.8. 8.测试(go test)
8.1 单元测试-测试和验证代码的框架
8.2 运行指定单元测试用例
8.3 标记单元测试结果
8.4 单元测试日志
8.5 测试例子
1.8.9. 9. 命令
1.8.10. 10. gb工程
1.8.11. 11. GO国内无法go get的解决办法
1.9. 项目组织的结构
1.9.1. 1.领域驱动的方式
1.9.2. 2.业务驱动的方式
1.9.3. 3.面向包的设计
1.9.4. 4.Go 项目结构
/cmd
/internal
/pkg
/vendor
/web
/configs
/docs
/logs
/test
go.mod
go.sum