Go
话题列表
社区 Wiki
优质外文
招聘求职
Go 实战教程
社区文档
登录
注册
Go
首页
Laravel
Go
Python
PHP
Vue.js
Java
MySQL
Rust
LK
程序员
Elasticsearch
F2E 前端
Server
Database
DevTools
Computer Science
手机开发
AdonisJS
社区
Wiki
教程
Go 实战教程首页
《G01 Go 实战:Web 入门》
《G02 Go API 实战》
《GX1 Golang 五分钟视频》
文档
社区文档首页
《高效的 Go 编程 Effective Go》
《Go Blog 中文翻译》
《Go 简易教程》
《Go 编程实例 Go by Example》
《Go 入门指南》
《Go 编程基础(视频)》
《Go Web 编程》
《Iris 框架中文文档》
《通过测试学习 Go 编程》
《Gin 框架中文文档》
《GORM 中文文档》
《Go SQL 数据库教程》
登录
注册
微信登录
进度 96.92%
Go 入门指南
更新于
2年前
Github 上《The Way to Go》中文译本的镜像,优化了排版
文档类型:系统文档
文章统计:196 篇,字数 16.46 万,点赞
2186
文章列表
所有讨论
基础信息
镜像说明
前言
第一章. Go 起源,发展与普及
1.1. 起源与发展
1.2. 主要特性与发展的环境和影响因素
第二章. 安装与运行环境
2.1. 平台与架构
2.2. Go 环境变量
2.3. 在 Linux 上安装 Go
2.4. 在 Mac OS X 上安装 Go
2.5. 在 Windows 上安装 Go
2.6. 安装目录清单
2.7. Go 运行时(runtime)
2.8. Go 解释器
第三章. 编辑器、IDE 等工具
章节说明
3.1. Go 开发环境的基本要求
3.2. 编辑器和集成开发环境
3.3. 调试器
3.4. 构建并运行 Go 程序
3.5. 格式化代码
3.6. 生成代码文档
3.7. 其它工具
3.8. Go 性能说明
3.9. 与其它语言进行交互
第四章. 基本结构和基本数据类型
4.1. 文件名、关键字与标识符
4.2. Go 程序的基本结构和要素
4.3. 常量
4.4. 变量
4.5. 基本类型和运算符
4.6. 字符串
4.7. strings 和 strconv 包
4.8. 时间和日期
4.9. 指针
第五章. 控制结构
章节说明
5.1. if-else 结构
5.2. 测试多返回值函数的错误
5.3. switch 结构
5.4. for 结构
5.5. Break 与 continue
5.6. 标签与 goto
第六章. 函数(function)
章节说明
6.1. 介绍
6.2. 函数参数与返回值
6.3. 传递变长参数
6.4. defer 和追踪
6.5. 内置函数
6.6. 递归函数
6.7. 将函数作为参数
6.8. 闭包
6.9. 应用闭包:将函数作为返回值
6.10. 使用闭包调试
6.11. 计算函数执行时间
6.12. 通过内存缓存来提升性能
第七章. 数组与切片
章节说明
7.1. 数组声明和初始化
7.2. 切片
7.3. For-range 结构
7.4. 切片重组(reslice)
7.5. 切片的复制与追加
7.6. 字符串、数组和切片的应用
第八章. Map
章节说明
8.1. 声明、初始化和 make
8.2. 测试键值对是否存在及删除元素
8.3. for-range 的配套用法
8.4. map 类型的切片
8.5. map 的排序
8.6. 将 map 的键值对调
第九章. 包(package)
章节说明
9.1. 标准库概述
9.2. regexp 包
9.3. 锁和 sync 包
9.4. 精密计算和 big 包
9.5. 自定义包和可见性
9.6. 为自定义包使用 godoc
9.7. 使用 go install 安装自定义包
9.8. 自定义包的目录结构、go install 和 go test
9.9. 通过 Git 打包和安装
9.10. Go 的外部包和项目
9.11. 在 Go 程序中使用外部库
第十章. 结构与方法
章节说明
10.1. 结构体定义
10.2. 使用工厂方法创建结构体实例
10.3. 使用自定义包中的结构体
10.4. 带标签的结构体
10.5. 匿名字段和内嵌结构体
10.6. 方法
10.7. 类型的 String() 方法和格式化描述符
10.8. 垃圾回收和 SetFinalizer
第十一章. 接口与反射
章节说明
11.1. 接口是什么
11.2. 接口嵌套接口
11.3. 类型断言:如何检测和转换接口变量的类型
11.4. 类型判断:type-switch
11.5. 测试一个值是否实现了某个接口
11.6. 使用方法集与接口
11.7. 第一个例子:使用 Sorter 接口排序
11.8. 第二个例子:读和写
11.9. 空接口
11.10 反射包
11.12. 接口与动态类型
11.13. 总结:Go 中的面向对象
11.14. 结构体、集合和高阶函数
第十二章. 读写数据
章节说明
12.1. 读取用户的输入
12.2. 文件读写
12.3. 文件拷贝
12.4. 从命令行读取参数
12.5. 用 buffer 读取文件
12.6. 用切片读写文件
12.7. 用 defer 关闭文件
12.8. 使用接口的实际例子:fmt.Fprintf
12.9. JSON 数据格式
12.10. XML 数据格式
12.11. 用 Gob 传输数据
12.12. Go 中的密码学
第十三章. 错误处理与测试
章节说明
13.1. 错误处理
13.2. 运行时异常和 panic
13.3. 从 panic 中恢复(Recover)
13.4. 自定义包中的错误处理和 panicking
13.5. 一种用闭包处理错误的模式
13.6. 启动外部命令和程序
13.7. Go 中的单元测试和基准测试
13.8. 测试的具体例子
13.9. 用(测试数据)表驱动测试
13.10. 性能调试:分析并优化 Go 程序
第十四章. 协程与通道
章节说明
14.1. 并发、并行和协程
14.2. 协程间的信道
14.3. 协程的同步:关闭通道-测试阻塞的通道
14.4. 使用 select 切换协程
14.5. 通道、超时和计时器(Ticker)
14.6. 协程和恢复(recover)
14.7. 新旧模型对比:任务和worker
14.8. 惰性生成器的实现
14.9. 实现 Futures 模式
14.10. 多路复用
已完成
14.11. 限制并发数
已完成
14.12. 链式操作
已完成
14.13. 多核运算
已完成
14.14. 多核运算处理大量数据
已完成
14.15. 漏桶算法 Leaky Bucket
已完成
14.16. 标杆分析 Goroutines
已完成
14.17. 使用 Channel 来并发读取对象
已完成
第十五章. 网络,模板和网页应用
章节说明
15.1. tcp 服务器
15.2. 一个简单的网页服务器
15.3. 访问并读取页面
15.4. 写一个简单的网页应用
15.5. 让 Web 应用更加健壮
已完成
15.6. 在 Web 应用中使用模板
已完成
15.7. 探索 Template 扩展的功能
已完成
15.8. 一个多功能的精致的 WebServer
已完成
15.9. RPC 远程调用
已完成
15.10. 使用 netchan 跨网络实现消息传递
已完成
15.11. Websocket 通讯
已完成
15.12. SMTP 发送邮件
已完成
第十六章. 常见的陷阱与错误
章节说明
16.1. 误用短声明导致变量覆盖
16.2. 误用字符串
16.3 发生错误时使用defer关闭一个文件
16.4. 何时使用 new() 和 make()
16.5. 不需要将一个指向切片的指针传递给函数
16.6. 使用指针指向接口类型
16.7. 使用值类型时误用指针
16.8 误用协程和通道
16.9. 闭包和协程的使用
16.10. 糟糕的错误处理
第十七章. 模式
17.1. 关于逗号 ok 模式
17.2. defer 模式
已完成
17.3.能见度模式
已完成
17.4. 操作者模式和接口
已完成
第十八章. 性能调优代码片段
18.1. 字符串
18.2. 数组和切片
18.3. 映射
18.4. 结构体
18.5. 接口
18.6. 函数
18.7. 文件
18.8. 协程(goroutine)与通道(channel)
18.9. 网络和网页应用
18.10. 其他
18.11. 出于性能考虑的最佳实践和建议
第十九章. 构建完整的应用程序
19.1. 简介
已完成
19.2. UrlShortener 项目介绍
已完成
19.3. 数据结构分析
已完成
19.4. 用户界面:Web 网页前端
已完成
19.5. 数据存储: gob
已完成
19.6. 使用 Goroutines 来提高性能
已完成
19.7. 使用 Json 来存储
已完成
19.8. 多台机器上的多线程
已完成
19.9. 使用 ProxyStore
已完成
19.10. 总结和优化
已完成
第二十章. Google App 引擎中的 Go
章节说明
第二十一章. Go 现实世界中的使用
章节说明
已完成
21.2. MROffice — Go 实现的 VOIP 系统
已完成
21.3. Atlassian— 虚拟机集群管理系统
已完成
21.4. Camlistore 个人住址存储系统
已完成
请登录
提交
忘记密码?
or
注册
第三方账号登录
微信登录
GitHub 登录
内容举报
匿名举报,为防止滥用,仅管理员可见举报者。
我要举报该
,理由是:
垃圾广告
:恶意灌水、广告、推广等内容
无意义内容
:测试、灌水、文不对题、消极内容、文章品质太差等
违规内容
:色情、暴利、血腥、敏感信息等
不友善内容
:人身攻击、挑衅辱骂、恶意行为
科学上网
:翻墙、VPN、Shadowsocks,政策风险,会被关站!
不懂提问
:提问太随意,需要再做一遍《提问的智慧》测验
随意提问
:提问没有发布在社区问答分类下
排版混乱
:没有合理使用 Markdown 编写文章,未使用代码高亮
内容结构混乱
:逻辑不清晰,内容混乱,难以阅读
标题随意
:标题党、标题不释义
尊重版权
:分享付费课程、破解软件(付费),侵犯作者劳动成果
其他理由
:请补充说明
举报
取消