Go语言实战编程
课程长度:
5天/40课时
培训概述:
TIOBE 每年会将年度编程语言的桂冠颁发给当年最受欢迎的编程语言,而今年几乎无需竞争,谷歌的 Go 语言便以大比分轻松拿下了这项荣誉。2016 年度 Go语言获得了 2.16%的用户增长,其后远远缀着它的竞争者——用户增长占比分别为 0.95%和 0.91%的 Dart 和 Perl 语言。Go 语言的成功,不仅仅在于它的语法简单易学,更在于它在吸收了 C 语言以及 Java 的优点之后,能够为使用者提供更好的错误处理、支持更高的编程效率。同时,Go 对于并发的良好支持使得这门语言在服务器端编程有着很多语言无法比拟的优势。能够使用协程而不是线程进行并发编程的语言,至今只有 Erlang、Lua 以及 Go,Java 仅仅在第三方包中有支持,而 Erlang 以及 Lua 又是相对小众的语言,这使得 Go 具有更大的优势。同时,Go 和 Java 一样采用 GC 进行内存管理,让开发者不再需要自己去管理内存,但是相对 Java 的 GC,Go 的 GC 更快速而高效,使得程序的整体停顿时间缩短。而大量的 Go 第三方包也丰富了 Go 开发者的选择。例如基于 Go 的 Raft 实现——Consul 以及 Etcd、微服务框架——Micro 等等。可以预见,作为谷歌的宠儿以及开发者的新欢,Go 在 2017 年将有更大的发展。本课程面向有一定编程基础,希望能够快速了解 Go 语言编程,快速入门的学员。
必备基础:具备一点编程基础,只要对GO语言感兴趣。
培训目标:
掌握 Go 语言编程基本能力和 Go 语言的特性,深度了解 Go 的一些常用的开发框架,可以熟练运用 GO 进行开发工作
课程大纲:
一、基础部份:
1、Go 语言环境搭建—学习如何安装 Go 的环境,以及 IDE 的使用
2、Go 语言基本结构和数据类型—基本程序结构、常量、变量、变量类型及字符串
3、控制结构—if、switch、for
4、函数—参数及返回类型、可变参数、defer、递归、闭包
5、数组和 slice—Go 语言中的数组以及 slice、slice 的操作
6、Map—Map 的初始化、操作、以及 map 的 slice
7、Package—内建 package(regex、sync)、创建自己的 package、使用外部库
8、Struct 和方法—struct 以及其方法、指针还是值?
9、接口和反射—Go 的反射
二、高级部份:
1、读写—对文件的读写、转化为 xml、json 格式
2、错误处理及测试—Go 的错误处理、运行时异常以及 panic、测试
3、goroutine 以及 channel—并行、并发以及 goroutine、channel 的使用
4、网络以及 web 编程
- 开发实战:Go 语言常见错误及陷阱