课程详情 学校简介 学校地址 申请试听
关键词:GO语言培训班 GO语言培训费 GO语言培训班哪个好
01
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
02
Go能干什么?
很多朋友可能知道Go语言的优势在哪,却不知道Go语言适合用于哪些地方
1 服务端开发
以前你使用C或者C++做的那些事情,用Go来做很合适,例如日志处理、文件系统、监控系统等;
2 爬虫及大数据
Go语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理;
3 网络编程
大量优秀的Web框架如Echo、Gin、Iris、beego等,而且Go内置的net/http包十分的优秀;
4 Paas云平台领域
Kubernetes和Docker Swarm等;
5 分布式存储领域
etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;
6 区块链领域
区块链里面有两个明星项目以太坊和fabric都使用Go语言;
7 容器虚拟化
大名鼎鼎的Docker就是使用Go语言实现的;
03
教学大纲
专为在职人员设计,课程内容丰富、紧凑、贴近企业实战
第一阶段
1、GO开发基础(4周)
学习目标1
1.了解Go语言中包的含义;
2.安装和使用第三方的包;
3.学会处理Go语言项目中包的依赖问题;
4.熟悉Go语言中的常用网络IO和磁盘IO操作;
5.学会编写命令行工具和简单的项目;
学习目标2
1.学会编写单元测试;
2.了解网络基础原理;
3.了解TCP/UDP协议、Web开发原理;
4.熟悉并使用net/http标准库;
5.熟悉常用的数据协议;
解锁技能1
1.掌握大型Go项目的目录组织结构,掌握基本的编程规范;
2.为自己的项目编写测试用例;
3.具备编写大型交互式程序的能力;
4.具备独立编写Web应用程序框架的能力;
5.熟悉并了解目前业界先进的数据协议;
学习目标3
1.熟悉Go语言中的结构体;
2.理解Go语言中的面向对象编程;
3.使用面向对象思维方式进行Go语言编程,来解决实际问题;
学习目标4
1.熟悉Go语言中的接口;
2.掌握面向接口编程;
3.理解反射存在的意义及反射原理;
4.学会使用反射解决实际问题;
解锁技能2
1.深入理解面向对象编程思想和反射的原理机制;
2.理解并掌握面向接口编程的思维方式;
3.能够编写出一定规模的Go语言程序解决现实问题;
实战案例
1、实战项目:图书管理系统;
2、实战项目:配置库开发;
第二阶段
2、GO高级编程(4周)
学习目标1
1.了解Go语言中包的含义;
2.安装和使用第三方的包;
3.学会处理Go语言项目中包的依赖问题;
4.熟悉Go语言中的常用网络IO和磁盘IO操作;
5.学会编写命令行工具和简单的项目;
学习目标2
1.学会编写单元测试;
2.了解网络基础原理;
3.了解TCP/UDP协议、Web开发原理;
4.熟悉并使用net/http标准库;
5.熟悉常用的数据协议;
解锁技能1
1.掌握大型Go项目的目录组织结构,掌握基本的编程规范;
2.为自己的项目编写测试用例;
3.具备编写大型交互式程序的能力;
4.具备独立编写Web应用程序框架的能力;
5.熟悉并了解目前业界先进的数据协议;
学习目标3
1.理解并发和并行;
2.深入理解Go语言的并发编程机制;
3.理解goroutine调度模型;
4.深入理解channel;
5.使用goroutine和channel实现并发编程;
6.深入理解context;
7.使用互斥锁、读写锁实现线程安全;
学习目标4
1.熟悉MySQL数据的基本使用;
2.使用Go操作MySQL数据库及ORM的使用;
3.熟悉Redis的基本使用;
4.熟练使用Go语言操作Redis;
5.掌握分布式实时消息平台-NSQ;
解锁技能2
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.实战案例;
掌握微服务架构设计与实现。