GO语言是什么?
Go语言由 Google公司开发,并于2009年开源,相比Java/python/c等语言,Go尤其擅长并发编程,性能堪比C语言,开发效率肩比Python, 被誉为“21世纪的C语言”。Go语言在云计算、大数据、微服务、高并发领域应用应用非常广泛。BAT大厂正在把Go作为新项目开发的首选语言。
区块链列为国家战略,Go语言编程快速崛起
5月20日工业和信息化部信息中心发布《2018中国区块链产业白皮书》,Go语言与区块链成为“数字中国”建设的重要支撑。Go语言热度攀升,市场薪资居高不下
根据百度指数最新排名,GO语言与区块链职位月薪11000元以上占整体的95.5%;
GO语言的就业情况,按工作经验统计
应届生¥11830 1-3年¥21900 3-5年¥25760 5-10年¥31480
取自仅一年 1657 份样本,截止2018-05-30
Go语言的优势
互联网区块链技术首选编程语言-
-
强悍并发性能
Go内置Goroutine协程调度机制
处理并发性比较强悍
-
-
开发速度极高
GO语言代码简易度接近Python
运行速度媲美C语言开发
-
-
区块链主流编程语言
2018年区块链人才需求为2017年
同期的9.7倍
-
-
就业待遇优厚
3年的Go开发者,
工资25K+
Go能干什么?
很多朋友可能知道Go语言的优势在哪,却不知道Go语言适合用于哪些地方-
1服务端开发
以前你使用 C 或者 C++ 做的那些事情,用 Go 来做很合适,例如日志处理、文件系统、监控系统等; -
2爬虫及大数据
Go语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理; -
3网络编程
大量优秀的Web框架如Echo、Gin、Iris、beego等,而且 Go 内置的 net/http 包十分的优秀;

-
4Paas云平台领域
Kubernetes和Docker Swarm等; -
5分布式存储领域
etcd、Groupcache、TiDB、Cockroachdb、Influxdb等; -
6区块链领域
区块链里面有两个明星项目以太坊和fabric都使用Go语言; -
7容器虚拟化
大名鼎鼎的Docker就是使用Go语言实现的;
免费试听

-
-
为什么要学GO「节选」
介绍了Go语言的历史和特点,介绍Go语言作为21世纪的C语言在当今互联网生态的应用场景和发展趋势,用八分钟的时间告诉你为什么应该学习Go语言。
-
-
从0开始搭建Go语言环境「节选」
真正从0开始,手把手教你安装Go语言开发工具和编辑器,介绍了Go语言开发的目录结构,最后亲自动手编写第一个Go语言程序。
-
-
接口开发介绍「节选」
接口及应用场景介绍及语法实例。
-
-
日志库开发实战「节选」
封装一个日志库,可以在项目中实现日志打印、纪录到文件。
来校试听即送《8周掌握Go语言》书籍
书籍介绍全书共300页
本书由老男孩教育多位金牌讲师依托老男孩教育多年线下教育实践经验撰写,采用“理论+代码实例”的形式详细讲解了Go语言基础·、函数、结构体、方法、接口、常用标准库、网络编程、并发编程、测试等部分。本书适合想系统学习Go语言、快速上手Go语言开发的读者。

教学大纲
专为在职人员设计,课程内容丰富、紧凑、贴近企业实战
阶段
1
GO开发基础(4周)
- 学习目标1
- 学习目标2
- 解锁技能1
-
1. 了解Go语言中包的含义;
2. 安装和使用第三方的包;
3. 学会处理Go语言项目中包的依赖问题;
4. 熟悉Go语言中的常用网络IO和磁盘IO操作;
5. 学会编写命令行工具和简单的项目; -
1. 学会编写单元测试;
2. 了解网络基础原理;
3. 了解TCP/UDP协议、Web开发原理;
4. 熟悉并使用net/http标准库;
5. 熟悉常用的数据协议; -
1. 掌握大型Go项目的目录组织结构,掌握基本的编程规范;
2. 为自己的项目编写测试用例;
3. 具备编写大型交互式程序的能力;
4. 具备独立编写Web应用程序框架的能力;
5. 熟悉并了解目前业界先进的数据协议;
- 学习目标3
- 学习目标4
- 解锁技能2
-
1. 熟悉Go语言中的结构体;
2. 理解Go语言中的面向对象编程;
3. 使用面向对象思维方式进行Go语言编程,来解决实际问题; -
1. 熟悉Go语言中的接口;
2. 掌握面向接口编程;
3. 理解反射存在的意义及反射原理;
4. 学会使用反射解决实际问题; -
1. 深入理解面向对象编程思想和反射的原理机制;
2. 理解并掌握面向接口编程的思维方式;
3. 能够编写出一定规模的Go语言程序解决现实问题;
实战案例
1、实战项目:图书管理系统;
2、实战项目:配置库开发;
阶段
2
GO高级编程(4周)
- 学习目标1
- 学习目标2
- 解锁技能1
-
1. 了解Go语言中包的含义;
2. 安装和使用第三方的包;
3. 学会处理Go语言项目中包的依赖问题;
4. 熟悉Go语言中的常用网络IO和磁盘IO操作;
5. 学会编写命令行工具和简单的项目; -
1. 学会编写单元测试;
2. 了解网络基础原理;
3. 了解TCP/UDP协议、Web开发原理;
4. 熟悉并使用net/http标准库;
5. 熟悉常用的数据协议; -
1. 掌握大型Go项目的目录组织结构,掌握基本的编程规范;
2. 为自己的项目编写测试用例;
3. 具备编写大型交互式程序的能力;
4. 具备独立编写Web应用程序框架的能力;
5. 熟悉并了解目前业界先进的数据协议;
- 学习目标3
- 学习目标4
- 解锁技能2
-
1. 理解并发和并行;
2. 深入理解Go语言的并发编程机制;
3. 理解goroutine调度模型;
4. 深入理解channel;
5. 使用goroutine和channel实现并发编程;
6. 深入理解context;
7. 使用互斥锁、读写锁实现线程安全; -
1. 熟悉MySQL数据的基本使用;
2. 使用Go操作MySQL数据库及ORM的使用;
3. 熟悉Redis的基本使用;
4. 熟练使用Go语言操作Redis;
5. 掌握分布式实时消息平台-NSQ; -
1. 深入理解Go的并发模型,掌握Go核心的并发编程技巧;
2. 可以开发出可靠的高并发程序;
3. 掌握业界主流数据库、缓存、消息队列程序的使用,能够完成项目的架构设计;
实战案例
1、实战项目:日志库开发;
2、实战项目:海量用户聊天室开发;
阶段
3
项目实战(4~6周)
- Web开发方向:个人博客项目
- 解锁技能1
-
1. gin框架介绍;
2. RESTful 风格API介绍;
3. MVC模式与MVVM模式介绍;
4. gin路由;
5. gin模板与渲染;
6. gin表单提交与上传文件;
7. gin中间件; -
8. 项目实战(博客系统/问答系统);
9. 文章列表展示功能;
10. 文章详情页功能;
11. 发表文章功能;
12. 文章评论功能;
13. 性能分析和压力测试; - 能够使用Go语言开发Web项目,如在线商城、问答网站、新闻站点等,升级为Go语言全栈开发工程师。
- 后端开发方向:日志收集系统
- 解锁技能2
-
1. etcd介绍;
2. 模块划分与api接口设计;
3. 收集客户端开发;
4. 测试与运行;
5. 日志收集后台开发;
6. 测试与运行;
7. Kafka介绍; -
8. kafka搭建与测试;
9. 生产与消费代码示例;
10. 日志检索方案设计;
11. 日志transfer子系统开发;
12. Elastic Search搭建;
13. kibana搭建;
14. 系统整合和测试; - 能够根据业务需求,设计并开发出大规模、高并发的服务端程序,升级为服务端开发工程师、服务端开发架构师。
- 后端开发/架构:微服务架构
- 解锁技能3
-
1. 微服务架构介绍;
2. 微服务框架Go Micro介绍;
3. 网关;
4. 配置中心;
5. RPC;
6. protobuf协议;
7. 实战案例; - 掌握微服务架构设计与实现。
讲师团队
老男孩50万年薪金牌名师亲自上阵授课,名师更易出高徒
超哥
Go金牌讲师、前清华大学Java技术研究实验室研究员- 1、精通Go语言、Java、Python和大数据生态圈。
- 2、曾担任清华大学Java技术研究与开发联合实验室研究员。
- 3、具备7年从业经验。
- 4、在2018上海国际创客大赛—NEO区块链创客黑马赛中荣获优秀奖。
- 5、参与过国家级项目,对于数据的处理和去中心化的思想有独到的见解,对于教学能够由浅入深,让学生快速掌握开发技能。
往期学员项目实战作品
实战教学,只学会知识点没有用,把项目做出来才是重点项目1
个人博客项目开发
-
项目简介
基于时下最流行的Gin框架设计开发,采用MVC架构实现。实现了文章列表展示、文章详情页、发表文章、文章评论等功能。 -
掌握技能
1、MVC架构介绍; 2、Gin框架; 3、Go语言template; 4、MySQL数据库使用; 5、前端开发技术; 6、性能分析; 7、压力测试;
项目截图

项目2
日志收集项目开发
-
项目简介
根据业务需求进行项目架构设计和开发,实现多产品线的业务日志收集,并且实现业务日志的可视化展示和检索。 -
掌握技能
1、服务端程序架构设计; 2、Go语言开发服务端agent; 3、etcd; 4、kafka; 5、ElasticSearch; 6、Klbaba;
项目截图
