课程简介
Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。Go是谷歌2009发布的第二款编程语言。2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用,Go有着超强大的开发效率。
硬件平台:Go语言设计支持主流的32位和64位的x86平台,同时也支持32位的ARM架构。
操作系统:Go语言在Go1版本上支持Windows, 苹果Mac OS X, Linux和FreeBSD操作系统
目标收益
培训对象
熟悉Go语法,有一定的Linux知识基础
课程大纲
第一课时: Go详解 主要介绍Go的语法信息 |
• 对比Go/PHP/JAVA/C/C++/Python等语言 介绍Go语言在国内外的使用情况 类型和变量 • 值和指针的详解 • 函数分析 • 结构体详解 • interface详解 • Go中的OOP • Goroutine race condition channels分析 • 错误处理 • package和exporting设计 • 动手实验题:开发两个命令行工具,一个实现ls的功能,一个实现grep的功能 |
第二课时: Go核心 |
1. interface设计详解 • 2. goroutine和调度器设计详解 • 3. channel设计详解 • 4.1.10/1.11新版本特性 • 5.锁和并发相关 |
第三课时: Go 如何写高并发网络服务 |
1. Go TCP编程详解 • 2. Go如何建立TCP链接 •3. gorotuine和channel 在scoket读写的详解 •4. conn在多goroutine之间的共享 •5. TCP链接关闭 • 6. scoket属性的详解 • 7. Go HTTP编程详解 • 8. HTTP协议详解 • 9. HTTP实现详解 |
第四课时: Go 程序的测试和调试 |
1. Go 如何写测试 • 1. 单元测试 • 2. 压力测试 • 3. 集成测试 • 4. docker 测试 • 2. Go 如何调试 • 1. CPU profile • 2. Mem profile • 3. GC profile • 4. Tracer |
第一课时: Go详解 主要介绍Go的语法信息 • 对比Go/PHP/JAVA/C/C++/Python等语言 介绍Go语言在国内外的使用情况 类型和变量 • 值和指针的详解 • 函数分析 • 结构体详解 • interface详解 • Go中的OOP • Goroutine race condition channels分析 • 错误处理 • package和exporting设计 • 动手实验题:开发两个命令行工具,一个实现ls的功能,一个实现grep的功能 |
第二课时: Go核心 1. interface设计详解 • 2. goroutine和调度器设计详解 • 3. channel设计详解 • 4.1.10/1.11新版本特性 • 5.锁和并发相关 |
第三课时: Go 如何写高并发网络服务 1. Go TCP编程详解 • 2. Go如何建立TCP链接 •3. gorotuine和channel 在scoket读写的详解 •4. conn在多goroutine之间的共享 •5. TCP链接关闭 • 6. scoket属性的详解 • 7. Go HTTP编程详解 • 8. HTTP协议详解 • 9. HTTP实现详解 |
第四课时: Go 程序的测试和调试 1. Go 如何写测试 • 1. 单元测试 • 2. 压力测试 • 3. 集成测试 • 4. docker 测试 • 2. Go 如何调试 • 1. CPU profile • 2. Mem profile • 3. GC profile • 4. Tracer |