学习路线
大家好!
如果您是有经验的开发者, 您只需要跟着课程学习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 薪资
Go的前8年:
如今, 每个云厂商的关键基础组件都可以看到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做哪些事情?
- 网络驱动程序 (与C驱动相比只有10%的性能差距)
- Google gVisor (Go实现用户空间内核)
- 多平台任天堂模拟器
- Docker: 容器
- 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.
更多Go相关请参考:
更多内容: https://blog.learngoprogramming.com
Copyright © 2019 Inanc Gumus
学习Go编程课程