Go语言编程

时间:该课程暂无课程排期

地点:暂无地点信息

教练:M.Bai

2004~2015 东软集团移动互联网事业部 历任项目软件经理、行业网关产品线技术负责人、开发一部技术总监 主导研发中国移动梦网短信网关、行业短彩信网关、移动定位系统网关、Wap网关系统等项目和产品;
2015-2016 东网科技 任技术战略部 高级架构师 负责智慧城市技术架构和产品规划;
2017 - 至今 东软云科技有限公司 互联网运营部 互联网运营支撑平台 技术负责人,负责互联网运营支撑平台的架构设计、技术选型和实现。
东软云科技 架构师 Go/C程序员
《七周七语言》译者之一
GopherChina大会讲师
技术博客:tonybai.com的作者
Go Advocator

毕业于哈尔滨工业大学,10余年专职服务端后端研发,积累了丰富的技术管理和架构设计经验;在电信增值业务领域、互联网平台运营领域有着丰富的行业经验。喜换钻研和分享技术,热爱开源, 坚持写技术博客十余年。目前的主要研究领域包括:Go、Kubernetes、Docker、区块链、儿童编程教育等。

| 培训特色 |

这个课程提供对Go语言的全面理解,并专注于语言的规范、实现;最佳实践(惯用法)贯穿课程始终,包括语言语法、Go类型系统、并发、测试、调优等方面的主题。这个课程将帮助任何进入Go世界的学员获得一个良好的学习开端,为后续更全面深入学习和使用Go语言奠定良好基础。

| 目标收益 |

a) 了解Go语言的诞生背景、发展历史和当前状态
b) 了解Go语言的特性、语言设计哲学和应用范围
c) 掌握Go语言开发环境搭建以及常用工具的使用
d) 掌握Go语言基础语法、实现原理、核心特性、常用标准库使用以及语言陷阱
e) 掌握Go语言单元测试、调优方法
f) 理解和掌握Go语言编程思想和最佳实践
g) 掌握Go语言网络编程模型和应用。

| 培训对象 |

a) 具有两年及以上编程经验的Go语言初学者、编程爱好者、专业程序员;

| 学员基础 |

a) 对结构化编程和面向对象编程范式有一定了解;
b) 对操作系统进程、线程、并发调度有一定了解;
c) 熟练使用windows、linux或mac任意一个操作系统下的命令行操作;
d) 对TCP/IP网络基础有一定了解。

| 课程大纲 |

主题

内容

1、Go语言介绍

1.1 Go语言简介
1.1.1 Go语言诞生与发展
1.1.2 Go语言的核心特性简介
1.1.3 Go语言的应用与展望
1.2 Go开发环境基础
1.2.1 Go语言开发环境安装
1.2.2 Go程序编译与运行(包括跨平台编译)
1.2.3常用Go开发工具介绍

2、Go语言语法

2.1 Go语言程序结构
2.1.1 程序结构
2.1.2 关键字、变量与声明
2.1.3 常量(详解)
2.1.4 包(详解)
2.1.5 作用域与可见性
2.1.6 main函数、init函数以及包初始化顺序(详解)
2.1.7 注释与文档

2.2 类型、函数和方法
2.1.6 基本类型(整型、浮点、complex、bool、string、byte、rune、指针)
2.1.7 指针详解
2.1.8 控制结构(if, for,switch-case, goto, select)
2.1.9 复合数据类型(array、slice详解、map、struct详解)
2.1.10 函数(function)
1 函数是first-class
2函数声明(可变参数)
3多返回值
4错误处理
5匿名函数和闭包
6 defer
7 panic and recover
2.1.11 方法(method)
1、method is just normal function
2、value receiver vs. pointer receiver
3、structembedding
4、method expression
5、method value
6、inheritance vs. composition
2.3 接口
1、interface type
2、interface value
3、interface实现
4、type assertion and type switch
5、标准库中的典型interface type

3、Go语言并发

3.1、并发介绍
3.2、goroutine及并发调度原理
3.3、并发访问控制
3.4、channel
3.5、select
3.6、concurrency pattern
3.7、cancelation

4、测试与调优

4.1、go test基础
4.2、test coverage
4.3、benchmark test
4.4、profiling(cpu, mem, mutex, GC, scheduler)

5、reflect和low-level 编程

5.1、reflect package
5.2、unsafe package
5.3、cgo

6、Go网络编程

6.1 Go 网络编程模型
6.2 TCP连接建立
6.3 Socket读写
6.4 网络异常处理(超时等)
6.5 连接关闭

国内外知名一线技术专家分享世界级软件研发管理实践,讲述他们在知名企业的成功案例与宝贵经验。
msup与企业深度合作,并为其量身定制个性化学习课程,精心设计内容与形式,提供最高质量的学习体验。

服务热线 : 400-812-8020

邮箱: market@msup.com.cn

官网: www.msup.com.cn