Go环境安装
Go项目管理
- Go 项目的目录结构 及 安装技巧
- GOPATH 使用总结
- 如何安装 第三方 Go 离线包?
- 【Go命令教程】命令汇总
- [Go] Vendor 包管理工具 glide 使用教程
- [Go] Vendor 包机制 及 注意事项
- --------------------------------------------------
- Go Modules详解(1)
- Go Modules详解(2) —— 基于Go1.19
Go Modules 常用命令:
| 命令 | 作用 |
|---|---|
| go mod init | 生成 go.mod 文件 |
| go mod download | 下载 go.mod 文件中指明的所有依赖 |
| go mod tidy | (1) 添加缺失的依赖到go.mod文件 (2) 移除go.mod文件中未使用的依赖 (3) go mod tidy 的作用 |
| go mod graph | 查看现有的依赖结构 |
| go mod edit | 编辑go.mod文件 |
| go mod vendor | 导出项目所有的依赖到vendor目录 |
| go mod verify | 校验一个模块是否被篡改过 |
| go mod why | 查看为什么需要依赖某模块 |
电子书
入门教程:
入门教程
- 【Go入门教程1】Go 安装,GOROOT,GOPATH,Go工作空间
- 【Go入门教程2】基本构成元素:标识符(identifier)、关键字(keyword 25个)、字面量(literal)、分隔符(delimiter)、和 操作符(operator)
- 【Go入门教程3】基本类型 和 高级类型 、Go 基本类型、引用类型、结构类型、自定义类型
- 【Go入门教程4】变量(var),常量(const),内置基础类型(Boolean、数值 byte,int,rune、字符串、错误类型),分组,iota枚举,array(数值),slice(切片),map(字典),make/new操作,零值
- 【Go入门教程5】流程(if、goto、for range、switch)和 函数(多个返回值、变参、传值与传指针、defer、函数作为值/类型、Panic和Recover、main函数和init函数、import)
- 【Go入门教程6】struct类型(struct的匿名字段) 、[Go] 子类 调用 父类 的 属性、方法
- 【Go入门教程7】面向对象(method、指针作为receiver、method继承、method重写)
- 【Go入门教程8】interface(interface类型、interface值、空interface{}、嵌入interface、断言、反射)
- 【Go入门教程9】并发(goroutine,channels,Buffered Channels,Range和Close,Select,超时,runtime goroutine)
- 了解 Go 1.9 的类型别名
基础教程
- [Go] 开发 go web 项目,踩到的一些“坑”
- [Go] 特性简介
- [Go] 路径、目录名、包名、文件名
- [Go] 复合类型(数组、切片、字典、结构体)变量的 初始化 及 注意事项
- [Go] 数组 和 切片(array、slice)
- [Go] 字典(map)
- [Go] 函数/方法 的 变参(...)
- [Go] 字符串 及其 函数(strings.)
- [Go] 反射 - reflect.ValueOf() 、反射 中 函数 和 方法 的调用 - v.Call()
- 《Go学习笔记 . 雨痕》流程控制(if、switch、for range、goto、continue、break)
- 《Go学习笔记 . 雨痕》类型
- 《Go学习笔记 . 雨痕》方法
- 《Go学习笔记 . 雨痕》反射
- [Go] defer 语句
- [Go] Http / Net 相关资料
- [Go] Http包 使用简介
- [Go] Cookie 使用简介
- [Go] 处理 Json(一):编码,处理 Json(二):解码 (struct tag)
- struct成员变量的标签(Tag)说明 和 获取方式 、json 的 struct field's tag 定义的规范
- [Go] ok 判断 汇总
- 打印 Go 结构体(struct)信息:fmt.Printf("%+v", user)
Go标准命令:
- [Go]标准命令汇总
- [Go] 标准命令详解(go install,go build,go get 等)
- [Go] 单元测试/性能测试 (go test)
Go指针:
Go模板引擎:
Go异常处理:
Go空值nil,泛型interface:
Go命令行:
Go 并发编程
- [译] Go 并发编程基础,Go Concurrency 实战
- 《Go语言实战》摘录:6.1 并发 - 并行 与 并发
- 《Go语言实战》摘录:6.2 并发 - goroutine
- 《Go语言实战》摘录:6.4 并发 - 锁住共享资源
- 《Go语言实战》摘录:6.5 并发 - 通道
- 《Go语言实战》摘录:7.1 并发模式 - runner
- 《Go语言实战》摘录:7.2 并发模式 - pool
- 《Go语言实战》摘录:7.3 并发模式 - work
- Go语言 goroutine背后的系统知识
Go包:Context
Go 应用
- 编写 Go 的 WEB 开发框架 (一) : 我需要一个什么样的框架?
- Go 语言设计模式实践:迭代器(Iterator) 、组合(Composite)
- 一步一步教你写BT种子嗅探器 --原理篇 、DHT篇
- 【Go连接池】最近用 Go 写了两个连接池,goRpcPool 和 goRedisPool。 作为有几年 C++ 经验的程序员,改用 Go 后开发效率提高了太多。
- MoonSocket——从零开始写Go网络通信框架