书籍详情

Go语言零基础入门(微课视频版)

Go语言零基础入门(微课视频版)

作者:郭志勇

出版社:清华大学出版社

出版时间:2025-04-01

ISBN:9787302684183

定价:¥89.00

购买这本书可以去
内容简介
  本书以Go语言为主线,内容循序渐进,采用先实践再理论的学习模式。引导读者渐进式地学习Go语言的相关知识,并对其中的相关内容产生浓厚的兴趣。本书共19章,从第1章编程语言的前世今生开始,系统性讲解编程语言的时间线及Go语言的诞生历史。第2章环境搭建详细讲解了不同的操作系统搭建Go语言开发环境的过程。第3~19章是Go语言最为核心的内容部分,内容按照从实践到原理循序渐进的过程设计。本书示例代码丰富,实际性和系统性较强,并配有视频讲解,助力读者透彻理解书中的重点、难点。本书既适合初学者入门,精心设计的案例对于工作多年的开发者也有参考价值,并可作为高等院校和培训机构相关专业的教学参考书。
作者简介
  郭志勇,一个在IT领域摸爬滚打多年的程序员、培训师。掌握多种IT技术,如前端开发、Python语言开发、Go语言开发等。热爱技术交流与分享,其录制的“8小时入门Go语言开发”“Gin框架入门”“Gorm简明教程”“gRPC基础教程”“GoZero零基础教程”等相关Go语言领域基础课程,帮助上万人入门Go语言开发,广受学员好评。
目录
第1章编程的前世今生
1.1编程语言发展史
1.2编程语言时间轴
1.3Go语言发展史
1.3.1Go语言是如何诞生的
1.3.2Go语言的早期团队和演进历程
1.3.3Go语言正式发布并开源
1.4Go语言特点
1.4.1编译型语言和解释型语言
1.4.2Go语言为并发而生
1.4.3Go语言设计理念
1.4.4使用Go语言的项目
1.5学好Go语言的建议
第2章环境搭建(8min)
2.1在Windows系统下搭建Go开发环境
2.1.1SDK简介
2.1.2下载SDK工具包
2.1.3配置Go环境变量
2.1.4检查Go语言环境是否安装成功
2.2Linux系统下搭建Go语言开发环境
2.2.1Linux系统下安装SDK
2.2.2配置Go环境变量
2.3macOS系统下搭建Go语言开发环境
2.4Go语言的开发工具介绍
2.4.1工具介绍
2.4.2工具选择
2.4.3VS Code的安装和使用
2.4.4GoLand的安装和使用
2.5运行第1个程序
2.5.1Go代码结构介绍
2.5.2GoLand中运行Go文件
2.5.3命令行运行Go文件
第3章变量与基本数据类型(46min)
3.1什么是变量
3.2变量的声明、初始化和赋值
3.3常量
3.4局部变量和全局变量
3.5变量可见性
3.6注释
3.6.1注释的格式
3.6.2包注释
3.6.3命令注释
3.6.4变量注释
3.7规范的代码风格
3.8数据类型的基本介绍
3.8.1数字类型
3.8.2浮点数类型
3.8.3字符串类型
3.8.4布尔类型
3.8.5字符类型
3.9扩展——字符编码
3.9.1ASCII第1个编码集合的诞生及发展
3.9.2GBK编码的诞生及发展
3.9.3Unicode编码的诞生
3.9.4UTF系列编码的诞生及发展
3.9.5扩展——乱码之王锟斤拷
3.10基本数据类型的默认值
3.11类型转换
3.11.1显式类型转换
3.11.2隐式类型转换
3.11.3strconv包
3.12输入函数
3.12.1Scanf函数
3.12.2Scanln函数
3.12.3Scan函数
第4章运算符(3min)
4.1运算符基本介绍
4.2赋值运算符
4.3算术运算符
4.4关系运算符
4.5逻辑运算符
4.6位运算符
4.6.1按位与
4.6.2按位或
4.6.3按位异或
4.6.4按位左移
4.6.5按位右移
4.7运算符的优先级
第5章流程控制(26min)
5.1条件判断
5.1.1if单分支
5.1.2ifelse双分支
5.1.3ifelseif多分支
5.1.4if嵌套
5.1.5知识扩展——卫语句
5.2switch语句
5.3循环语句
5.3.1标准for循环
5.3.2while模式的for循环
5.3.3dowhile模式的for循环
5.3.4for range模式的for循环
5.3.5break语句
5.3.6continue语句
5.3.7多重循环
第6章数组、切片、Map(27min)
6.1数组
6.1.1声明数组
6.1.2初始化数组
6.1.3数组索引
6.1.4修改数组元素
6.1.5遍历数组
6.2切片
6.2.1什么是切片
6.2.2切片的创建和初始化
6.2.3nil和空切片
6.2.4为切片中的元素赋值
6.2.5通过切片创建新的切片
6.2.6遍历切片
6.2.7append()函数
6.2.8切片的底层原理
6.3map
6.3.1map的声明与初始化
6.3.2map的增、删、改、查
6.3.3map的底层实现
第7章函数与指针(50min)
7.1函数
7.1.1函数定义
7.1.2函数参数
7.1.3函数返回值
7.1.4匿名函数
7.1.5函数可作为参数
7.1.6函数可作为返回值
7.1.7函数作为变量
7.2特殊的函数
7.2.1main()函数
7.2.2init()函数
7.2.3defer()函数
7.2.4递归函数
7.3指针
7.3.1指针地址和指针类型
7.3.2指针取值
7.3.3空指针
7.3.4new
7.3.5make
第8章结构体与自定义数据类型(29min)
8.1结构体
8.1.1结构体定义
8.1.2结构体实例化
8.1.3结构体方法
8.1.4结构体匿名字段
8.1.5嵌套结构体
8.1.6结构体的“继承”
8.1.7结构体标签
8.1.8结构体内存布局
8.2自定义数据类型与类型别名
8.2.1自定义类型
8.2.2自定义类型方法
8.2.3类型别名
8.2.4自定义类型和类型别名的区别
第9章接口(16min)
9.1Go接口interface
9.1.1接口的定义
9.1.2接口的实现
9.1.3接口的使用
9.1.4接口嵌套
9.1.5类型断言
9.2空接口
第10章协程与Channel(27min)
10.1何为协程
10.1.1WaitGroup
10.1.2WaitGroup原理探析
10.2Channel信道
10.2.1Channel类型
10.2.2创建Channel
10.2.3操作Channel
10.2.4无缓冲的Channel
10.2.5有缓冲的Channel
10.2.6从Channel中循环取值
10.3select
10.3.1select特点
10.3.2带default的语句
10.3.3不带default的语句
10.3.4关闭Channel监听
10.3.5空的select将一直阻塞
10.3.6select定时器
10.4协程的设计与原理
10.4.1单进程时代
10.4.2多进程时代
10.4.3多线程时代
10.4.4协程时代
10.4.5协程的调度
10.4.6Go语言协程调度
第11章线程安全与异常处理(25min)
11.1线程为什么不安全
11.2如何解决线程安全问题
11.2.1互斥锁
11.2.2读写锁
11.2.3一次性锁
11.2.4sync.Pool
11.3线程安全sync.Map
11.3.1sync.Map基本用法
11.3.2sync.Map为什么快
11.4异常处理
11.4.1自定义错误
11.4.2错误的处理方式
第12章泛型(7min)
12.1泛型函数
12.1.1泛型约束
12.1.2指定底层类型
12.1.3可比较类型
12.1.4多参数泛型
12.1.5泛型嵌套
12.1.6常用泛型函数
12.2泛型结构体
12.3泛型切片
12.4泛型map
12.5泛型Channel
第13章文件操作(53min)
13.1相对路径与绝对路径
13.2文件读取
13.2.1一次性读取
13.2.2分片读取
13.2.3按行读取
13.3文件写入
13.3.1一次性写入
13.3.2逐行写入
13.3.3使用缓冲写入
13.3.4os.OpenFile()函数
13.4目录操作
13.4.1创建目录
13.4.2读取目录
13.4.3遍历目录
13.4.4目录的其他操作
13.5JSON文件操作
13.5.1JSON序列化
13.5.2JSON反序列化
13.6I/O接口
13.6.1io.Reader接口
13.6.2io.Writer接口
13.6.3io.Closer接口
13.6.4统一的抽象层
13.6.5最小接口原则
13.7命令行参数
13.7.1什么是命令行参数
13.7.2使用os.Args获取命令行参数
13.7.3使用flag包解析命令行参数
第14章单元测试与包管理
14.1最简单的测试
14.2单元测试的基本规范
14.3单元测试的常用方法
14.3.1表驱动测试
14.3.2随机执行
14.3.3子测试
14.3.4TestMain()函数
14.4基准测试
14.5包管理
14.5.1Go包的概念
14.5.2包的导入与可见性
14.5.3Go依赖管理的概念
14.5.4go mod的使用
第15章反射(13min)
15.1反射的优点与缺点
15.2reflect包
15.2.1type Type 类型
15.2.2type Kind类型
15.2.3TypeOf常用方法
15.2.4ValueOf常用方法
第16章网络编程(8min)
16.1HTTP编程
16.1.1HTTP服务器端
16.1.2HTTP客户端
16.2HTTP协议
16.2.1HTTP协议的发展历程
16.2.2HTTP协议会话方式
16.2.3请求报文
16.2.4响应报文
16.3TCP编程
16.3.1标准收发模式
16.3.2聊天收发模式
16.4TCP协议
16.4.1OSI七层模型
16.4.2TCP报文
16.4.3三次握手
16.4.4四次挥手
16.5UDP编程
16.5.1UDP优势
16.5.2UDP服务器端
16.5.3UDP客户端
16.5.4UDP应用场景
第17章部署(13min)
17.1打包命令
17.2交叉编译
17.3文件嵌入
17.3.1嵌入单个文件
17.3.2嵌入多个文件
17.3.3嵌入目录
第18章正则表达式
18.1正则表达式概述
18.2正则表达式基本语法
18.2.1字符集合
18.2.2字符范围
18.2.3数量字符
18.2.4元字符
18.2.5特殊字符
18.2.6位置匹配
18.2.7分组
18.2.8修饰符
18.3Go语言中使用正则表达式
18.3.1字符串匹配
18.3.2分组匹配
18.3.3分组替换
18.3.4标志
18.4常用正则表达式
第19章标准库和常用第三方库(43min)
19.1Go标准库
19.1.1时间和日期
19.1.2数学
19.1.3日志
19.1.4上下文
19.2Go常用第三方库
19.2.1logrus日志库
19.2.2gin
19.2.3定时任务
 
猜您喜欢

读书导航