深圳老男孩教育

一家专业培养IT工程师并让学员高薪就业的机构

学校课程咨询服务:
400-888-4849
培训世界 >深圳软件开发培训 >GO语言

GO语言

GO语言

上课时段: 详见内容

已关注: 451

课程价格: 请咨询

优惠价格: 请咨询

授课学校: 深圳老男孩教育

教学点: 1个

开班时间: 滚动开班

咨询电话:400-888-4849

预约试听

课程详情

GO语言培训班

GO语言培训班,首先帮助学员了解Go语言中包的含义,亲自上阵授课,能够使用Go语言开发Web项目,如在线商城、问答网站、新闻站点等,升级为Go语言全栈开发工程师.

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包十分的优秀;
  4
  Paas云平台领域
  Kubernetes和Docker Swarm等;
  5
  分布式存储领域
  etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;
  6
  区块链领域
  区块链里面有两个明星项目以太坊和fabric都使用Go语言;
  7
  容器虚拟化
  大名鼎鼎的Docker就是使用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.实战案例;
  掌握微服务架构设计与实现。

1