programmer roadmap
This commit is contained in:
145
translation/chinese/01-安装与介绍/学习路线.md
Normal file
145
translation/chinese/01-安装与介绍/学习路线.md
Normal file
@@ -0,0 +1,145 @@
|
||||
# 学习路线
|
||||
|
||||
大家好!
|
||||
|
||||
如果您是有经验的开发者, 您只需要跟着课程学习50个小节即可,完整的课程是180节。
|
||||
|
||||
本课程从Go基础内容开始,逐渐递进。我们希望让尽量多的Go学习者可以轻松入门。
|
||||
如果您觉得某些小节的内容您已掌握,可以跳过这部分直接做课后题。当然,您也可以
|
||||
回过头来复习本小节。
|
||||
|
||||
|
||||
## 课程
|
||||
|
||||
* **写下第一个Go程序**
|
||||
* 请看所有的课程.
|
||||
* Go文档是什么?
|
||||
* "写一个库"之前的准备课程
|
||||
|
||||
* **掌握Go的类型系统**
|
||||
* 每个Go类型都有一个零值
|
||||
* blank标识符是什么?
|
||||
* 让我们定义一组变量!
|
||||
* 类型引用是什么?
|
||||
* 怎样声明短变量?
|
||||
* 为何不能在包中声明短变量?
|
||||
* 重复声明是什么?
|
||||
* 什么情况可以适合使用短变量声明?
|
||||
* 学习从命令行获取输入和切片
|
||||
* 学习 os.Args 基本用法
|
||||
* 使用 os.Args 实现欢迎新人
|
||||
* 使用Printf 进行格式化输出的准备工作
|
||||
* 将摄氏度转换为华氏度
|
||||
* 将换英尺转换为米
|
||||
* 原始字符串是什么?
|
||||
* 怎样获得字符串长度?
|
||||
* 什么是预定义的类型之后的课程.
|
||||
* 理解为定义类型的常量的后续课程, 章节的结束
|
||||
* 学习常量的规则
|
||||
* 复习: 常量
|
||||
* 未定义类型的常量是怎样在钩子下运行的?
|
||||
* 默认类型是什么?
|
||||
* 例子: time.Duration
|
||||
* iota 是什么?
|
||||
* 推荐的命名法
|
||||
|
||||
* **控制Go的错误处理流程**
|
||||
* 观看所有 "认证通过: 创建密码保护程序"之前的课程
|
||||
* 观看所有 "理解Go的错误处理"之前的课程
|
||||
* case 条件语句中使用多个值
|
||||
* 回滚语句是怎样工作的?
|
||||
* 解决方案: 一天的部分
|
||||
* 复习: Switch 语句
|
||||
* 怎样继续一个循环? (+奖励: 调试)
|
||||
* 创建一个乘法表
|
||||
* 怎样循环一个切片
|
||||
* 范围: 轻巧地统计方法!
|
||||
|
||||
* **项目: 针对初学者**
|
||||
* 请观看完整课程.
|
||||
|
||||
* **余下章节**
|
||||
* 到目前为止,Go的基础部分已经结束。您可以观看余下的所有课程,余下课程覆盖了Go的高级特性.
|
||||
|
||||
## That's all! Enjoy! 🤩
|
||||
|
||||
---
|
||||
|
||||
# 奖励: 我们为什么要学Go?
|
||||
|
||||
**总结:** Go犹如Python和Javascript一样简单,C/C++一样快.使用Go作为工作语言会比C/C++更有趣。我们既可以使用Go的low-level API也可以使用high-level API。
|
||||
|
||||
## Go能用在哪些场景?
|
||||
|
||||
Go在互联网公司经常被应用,例如: Google, Facebook, Twitter, Uber, Apple, Dropbox, Soundcloud, Medium, Mozilla Firefox, Github, Docker, Kubernetes, 和 Heroku.
|
||||
|
||||
**Go 非常适合:** 跨平台命令行工具, 分布式网络系统, 微服务 和 Serverless, 网站APIs, 数据库引擎, 大数据处理流水线, 嵌入式开发, 等等.
|
||||
|
||||
**Go 不是特别适合 (但是可以使用):** 桌面应用, 操作系统, 内核驱动, 游戏开发, etc.
|
||||
|
||||
## Go的设计者是谁?
|
||||
|
||||
Go的设计者在工业界非常有影响力, 他们是:
|
||||
|
||||
* Unix: Ken Thompson
|
||||
* UTF-8, Plan 9: Rob Pike
|
||||
* Hotspot JVM (Java Virtual Machine): Robert Griesemer
|
||||
|
||||
## Go的市场薪资待遇
|
||||
|
||||
* [Go 薪资](https://www.payscale.com/research/US/Skill=Go_(Golang)_Programming_Language/Salary)
|
||||
|
||||
## [Go的前8年](https://blog.golang.org/8years):
|
||||
|
||||
> 如今, **每个云厂商的关键基础组件都可以看到Go语言的影子** 包括 Google Cloud, AWS, Microsoft Azure, Heroku, 等等. Go 是云厂商的重要部分.例如,Alibaba, Cloudflare, 和 Dropbox 都在使用Go. Go也是公共基础设施的重要组成部分。例如, Kubernetes, Cloud Foundry, Openshift, NATS, Docker, Istio, Etcd, Consul, Juju, 等都在使用Go. Companies are increasingly choosing Go,云基础设施方案选型中越来越多的公司开始采用Go.
|
||||
|
||||
## 我们可以用Go做哪些事情?
|
||||
|
||||
* [网络驱动程序](https://www.net.in.tum.de/fileadmin/bibtex/publications/theses/2018-ixy-go.pdf) (_与C驱动相比只有10%的性能差距_)
|
||||
* [Google gVisor](https://cloud.google.com/blog/products/gcp/open-sourcing-gvisor-a-sandboxed-container-runtime) (_Go实现用户空间内核_)
|
||||
* [多平台任天堂模拟器](https://humpheh.github.io/goboy/)
|
||||
* [Docker: 容器](https://github.com/moby/moby)
|
||||
* [Kubernetes: 容器编排管理](https://github.com/kubernetes/kubernetes)
|
||||
* 虚拟机镜像处理工具
|
||||
* 聊天服务器
|
||||
* RUM beacon收集器
|
||||
* 时间序列数据库引擎, 客户端, 命令行工具, 等等.
|
||||
* Map-reduce依赖包
|
||||
* 支持动态内容重写,图片放大缩放,缓存,Lua事件处理器功能的反向代理集群
|
||||
* 基于地理位置的反向代理CDN节点
|
||||
* 健康管理应用(时间处理&点对点报告)
|
||||
* Go DNS 服务器
|
||||
* 接入MySQL的API后台服务
|
||||
* Linux 进程处理工具
|
||||
* 作为反向代理隐藏后台服务器.
|
||||
* HTML -> PDF 转换器.
|
||||
* 短链接服务 类似 tinyurl.com 和 goo.gl
|
||||
* SMS 消息服务.
|
||||
* 信用卡支付网关
|
||||
* JSON Web Token工具包
|
||||
* 动态图像处理服务
|
||||
* 第三方内容渲染工作流(十分庞大的项目)
|
||||
* lxc 容器部署
|
||||
* 自动化测试框架
|
||||
|
||||
参考: [This Reddit post](https://www.reddit.com/r/golang/comments/5nac2b/what_have_you_used_go_for_in_your_professional/).
|
||||
|
||||
## 更多Go相关请参考:
|
||||
|
||||
* [关于 Go: 概览](https://blog.learngoprogramming.com/about-go-language-an-overview-f0bee143597c)
|
||||
* [为什么要学习Go?](https://medium.com/@kevalpatel2106/why-should-you-learn-go-f607681fad65)
|
||||
* [云基础设施的新兴语言](https://redmonk.com/dberkholz/2014/03/18/go-the-emerging-language-of-cloud-infrastructure/)
|
||||
* [使用Go的公司](https://github.com/golang/go/wiki/GoUsers)
|
||||
* [Go的8年](https://blog.golang.org/8years)
|
||||
* [Twitter: 使用Go一天处理50 亿会话](https://blog.twitter.com/engineering/en_us/a/2015/handling-five-billion-sessions-a-day-in-real-time.html)
|
||||
* [C++工程师眼里的Go](https://www.murrayc.com/permalink/2017/06/26/a-c-developer-looks-at-go-the-programming-language-part-1-simple-features/)
|
||||
|
||||
<div style="page-break-after: always;"></div>
|
||||
|
||||
> 更多内容: [https://blog.learngoprogramming.com](https://blog.learngoprogramming.com)
|
||||
>
|
||||
> Copyright © 2019 Inanc Gumus
|
||||
>
|
||||
> 学习Go编程课程
|
||||
>
|
||||
> [点击查看认证许可.](https://creativecommons.org/licenses/by-nc-sa/4.0/)
|
Reference in New Issue
Block a user