Back to Learngo

学习路线

translation/chinese/01-安装与介绍/学习路线.md

latest6.0 KB
Original Source

学习路线

大家好!

如果您是有经验的开发者, 您只需要跟着课程学习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相关请参考:

<div style="page-break-after: always;"></div>

更多内容: https://blog.learngoprogramming.com

Copyright © 2019 Inanc Gumus

学习Go编程课程

点击查看认证许可.