您当前的位置:首页>课程>Go语言编程实战培训

Go语言编程实战培训

浏览:3150
分享

Andrew Yin Read more

百林哲咨询(北京)有限公司专家团队成员

资深大数据专家多年从事大数据、云计算研发工作经验,数学博士,IT从业近二十年,擅长OpenStack、Hadoop、HDFS、HBase、Hive、MapReduce、Zookeeper、等大数据技术和开源框架,曾主导过多个私有云建设项目。

简介

Go语言是谷歌2009推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。

本课程分两部分,分别为初级培训与高级培训,初级培训概述了Go语言的全貌,包括Go语言的基本知识、基本句法、相关术语、Go 语言的面向过程和面向对象的编程语法以及各个知识点案例编程实战,并穿插了与其它语言进行比较学习内容;然后,高级培训使学员理解Go 语言的设计动机,并深入剖析了Go 语言最为重要的并行编程方法、网络编程、工程管理、安全编程、开发工具等内容,并给学员提供了丰富的实战案例,帮助学员深入理解全新的Go语言。学员通过该课程学习可以完成GO语言的项目开发与管理。以课堂讲解、演示、案例分析为主,辅以互动研讨、现场答疑、学以致用。

目标

1、本课程注重基础,重点介绍Go语言的基本知识、基本语法、相关术语;

2、为了方便学员的对Go语言的理解,讲师结合多年的编程经验,将Go语言与其它语言(Java、C/C++、Python、Scala)进行比较学习,方便学员记忆与掌握;

3、课程安排注重实操,让学员通过动手实操加深对Go语言的理解;

4、课程包含Go语言的经典案例,让学员掌握Go语言的语言特征、应用场景和设计动机。

课程时长

4天(24H)

受众人群

1、本课程适合于想学习的编程的人员;

2、本课程适合于已经掌握Go语言之外的其它语言的开发人员;

3、本课程适合于想通过Go语言开发项目的团队及人员;

4、对Go语言感兴趣的人士;

分享提纲

课程级别时间内容
初级第一天

第1个主题: Go语言简介(介绍Go语言工具)(120分钟)

1、 如何学习一门新语言

a) 顺序、分支、循环

b) 基本语法、类、属性

c) 开发工具

2、 Go语言历史与趋势剖析

3、 Go语言特性

a) 自动垃圾回收

b) 更丰富的内置类型

c) 函数多返回值

d) 错误处理

e) 匿名函数和闭包

f) 类型和接口

g) 并发编程

h) 反射

i) 语言交互性

4、 安装Go语言

5、 Go语言开发工具Intellij、Gogland使用

6、 Go语言常用开发工具LiteIDE、Goclipse的使用

7、 运行Go语言程序

8、 运行Go语言程序(Hello World)

9、 针对Hello World讲解Go语言程序容易犯的错误(例如{不能单独一行,main函数在main包下,不能引入未定义的包和变量,import是()不是{}等等)

10、 GDB 调试

 

第2个主题: Go语言开发工具(介绍Go语言的开发工具)(120分钟)

1、 选择开发工具

2、 Intellij

3、 Gogland

4、 Goclipse

5、 LiteIDE

6、 实战案例:创建新项目

 

 

第3个主题: Go语言语法介绍(Go语言基础语法介绍)(120分钟)

1、 变量(增加变量作用域的讲解)

2、 变量声明

3、 变量初始化

4、 变量赋值

5、 匿名变量

6、 常量

7、 Iota计数器

8、 枚举

9、 变量类型

a) 布尔类型

b) 整型

c) 浮点型

d) 复数类型

e) 字符串

f) 字符类型

g) 数组

h) 数组切片

i) map

j) 指针变量

 

第4个主题: Go语言控制语句(Go语言控制语句语法介绍)(120分钟)

1、 条件语句

2、 选择语句

3、 循环语句

4、 跳转语句

5、 函数定义

6、 函数调用

7、 Go的初始化机制init函数

8、 defer函数:资源释放,解除锁定,错误处理,调试代码及注意讲解defer函数性能消耗

9、 不定参数

10、 多返回值

11、 匿名函数与闭包

12、 错误处理

a) error 接口

b) defer

c) panic()和recover()

13、 Go语言程序结构

a) 程序结构

b) 主程序

c) 算法实现

d) 构建与执行

14、 Go语言编程案例实战

 

第5个主题: Go语言项目管理(介绍Go语言项目管理)(120分钟

1、 Go命令行工具

2、 代码风格

3、 强制性编码规范

4、 非强制性编码风格建议

5、 远程import支持

6、 项目结构

7、 GOPATH

8、 包导入,匿名导入,内部包引入

9、 vendor/godep/glice等外部包管理机制

10、 目录结构

11、 文档管理

12、 项目构建

13、 跨平台开发

14、 交叉编译

15、 Android支持

16、 打包分发

17、 实战案例:Go语言工程管理案例

 

第6个主题: Go语言面向对象编程(Go语言的面向对象编程)(120分钟)

1、 类型系统

a) 为类型添加方法(方法和接口区别,如何Export Func和Method需要提)

b) 值语义和引用语义

c) 结构体

2、 初始化(与init函数一并讲)

3、 匿名组合

4、 可见性

5、 接口

a) 其他语言的接口

b) 非侵入式接口

c) 接口赋值

d) 接口查询

e) 类型查询

f) 接口组合

g) Any类型

6、 Go语言面向对象编程案例:多媒体播放库

初级第二天

第7个主题: Go语言文件处理(介绍Go语言文件处理)(120分钟)

1、 数据文件

2、 处理纯文本文件

3、 处理JSON文件

4、 处理XML文件

5、 处理二进制文件

6、 归档文件

7、 创建zip归档文件

8、 创建可压缩的tar包

9、 解压zip归档文件

10、 解压tar归档文件

11、 实战案例:json文件操作

 

第8个主题: Go语言数据库操作(Go语言的数据库的读取、写入)(120分钟)

1、 Go语言操作MySQL数据库

2、 Go语言MySQL数据库连接包

3、 打开数据库连接Open

4、 数据库连接失败处理

5、 数据库查询Query操作

6、 操作数据集

7、 遍历数据集Scan

8、 向数据库中插入记录

9、 查看插入记录的结果

10、 删除数据库中的记录

11、 更新数据库中的数据

12、 案例:员工信息管理案例


 

我要参加

可同时提交您的需求,我们会及时与您联系

预约内训

将课程带入到您的团队,为您的团队进行一对一辅导。

相关课程