展开全部

主编推荐语

Go语言:新兴编程语言,强大功能,实战项目,适合多人群使用。

内容简介

Go语言是近几年广受关注的一门新兴编程语言,在设计之初就致力于解决C语言的低效问题,以及C++语言的晦涩、难用等缺陷。Go语言吸收了C、C++强大的开发功能优势,继承了C、C++的编程风格,被广泛应用于构建数字基础设施类软件,以及图形/图像处理、移动应用、人工智能、机器学习等领域,广受国内外大型IT公司的推崇和关注。本书除了讲解Go语言的基本开发知识,还提供了3个完整的实战项目及131个源码示例。另外,本书提供对应的练习与实验,方便读者对所学知识进行巩固和检验。本书适合高等院校学生阅读,适合程序员自学,也适合培训机构使用。

目录

  • 封面
  • 作者介绍
  • 版权信息
  • 内容简介
  • 前言
  • part one 第1部分 Go语言编程基础
  • 第1章 Go语言入门知识
  • 1.1 Go语言简介
  • 1.1.1 Go语言的产生
  • 1.1.2 Go语言的特点与优势
  • 1.2 Go语言开发工具的安装
  • 1.2.1 Windows下的安装
  • 1.2.2 Linux下的安装
  • 1.2.3 macOS下的安装
  • 1.3 第一个Go语言程序:Hello三酷猫
  • 1.4 安装和使用集成开发环境
  • 1.4.1 集成开发环境的安装
  • 1.4.2 项目的创建、编译和运行
  • 1.4.3 代码的出错提示及调试
  • 1.4.4 代码风格约定
  • 1.5 关键字和保留字
  • 1.6 为代码添加注释
  • 1.6.1 单行注释
  • 1.6.2 多行注释
  • 1.7 练习与实验
  • 1.填空题
  • 2.判断题
  • 3.实验题
  • 第2章 基础语法
  • 2.1 声明
  • 2.2 常量与变量
  • 2.2.1 常量
  • 2.2.2 变量
  • 2.2.3 作用域
  • 2.3 基本数据类型
  • 2.3.1 整型
  • 2.3.2 浮点型
  • 2.3.3 复数型
  • 2.3.4 布尔型
  • 2.3.5 字符串型
  • 2.4 运算符及优先级
  • 2.4.1 算术运算符
  • 2.4.2 关系运算符
  • 2.4.3 逻辑运算符
  • 2.4.4 位运算符
  • 2.4.5 赋值运算符
  • 2.4.6 指针运算符
  • 2.4.7 优先级
  • 2.4.8 案例:三酷猫求相加和
  • 2.5 练习与实验
  • 1.填空题
  • 2.判断题
  • 3.实验题
  • 第3章 高级数据类型
  • 3.1 指针类型
  • 3.1.1 指针的概念
  • 3.1.2 指针变量的声明
  • 3.1.3 指针变量的赋值
  • 3.1.4 访问指针变量所表示的变量的值
  • 3.1.5 空(nil)指针
  • 3.1.6 指向指针的指针变量
  • 3.1.7 案例:解答三酷猫关于指针的困惑
  • 3.2 数组类型
  • 3.2.1 数组的概念
  • 3.2.2 数组的声明与初始化
  • 3.2.3 访问数组中的元素
  • 3.2.4 多维数组
  • 3.2.5 案例:三酷猫计算平均温度
  • 3.3 切片类型
  • 3.3.1 切片的概念
  • 3.3.2 切片的声明与初始化
  • 3.3.3 空(nil)切片
  • 3.3.4 访问切片中的元素
  • 3.3.5 多维切片
  • 3.3.6 切片的append()函数
  • 3.3.7 切片的copy()函数
  • 3.4 集合类型
  • 3.4.1 集合的概念
  • 3.4.2 集合的声明与初始化
  • 3.4.3 集合中元素的检索
  • 3.4.4 向集合中添加、删除和修改元素
  • 3.5 结构体类型
  • 3.5.1 结构体的概念及特点
  • 3.5.2 结构体的声明
  • 3.5.3 结构体的使用
  • 3.6 练习与实验
  • 1.填空题
  • 2.判断题
  • 3.实验题
  • 第4章 流程控制语法
  • 4.1 分支结构
  • 4.1.1 if语句
  • 4.1.2 if…else…结构
  • 4.1.3 多分支结构
  • 4.2 switch…case…分支结构
  • 4.3 循环结构
  • 4.3.1 for循环的使用
  • 4.3.2 多层循环结构
  • 4.4 跳转控制语句
  • 4.4.1 break语句
  • 4.4.2 continue语句
  • 4.4.3 goto语句
  • 4.5 for-range结构
  • 4.5.1 遍历数组与切片
  • 4.5.2 遍历集合
  • 4.5.3 遍历字符串
  • 4.6 案例:三酷猫背九九乘法表
  • 4.7 案例:三酷猫学算法之冒泡排序
  • 4.8 练习与实验
  • 1.填空题
  • 2.判断题
  • 3.实验题
  • 第5章 函数
  • 5.1 函数的声明
  • 5.1.1 函数的声明格式
  • 5.1.2 函数的参数
  • 5.1.3 可变参数
  • 5.1.4 函数的返回值
  • 5.2 函数的调用
  • 5.2.1 函数的调用格式
  • 5.2.2 值传递与引用传递
  • 5.2.3 案例:三酷猫识别数据类型
  • 5.3 递归函数
  • 5.4 匿名函数
  • 5.4.1 匿名函数的声明
  • 5.4.2 匿名函数的调用
  • 5.4.3 将匿名函数赋值给变量
  • 5.4.4 使用匿名函数实现回调
  • 5.4.5 案例:三酷猫的下载“神器”
  • 5.5 闭包
  • 5.6 函数的延迟调用
  • 5.6.1 延迟调用的使用和特点
  • 5.6.2 使用延迟调用的注意事项
  • 5.7 Go语言的异常处理
  • 5.7.1 运行时宕机
  • 5.7.2 宕机时恢复
  • 5.8 案例:三酷猫的面积计算器
  • 5.9 练习与实验
  • 1.填空题
  • 2.判断题
  • 3.实验题
  • 第6章 结构体
  • 6.1 类型
  • 6.1.1 自定义类型
  • 6.1.2 自定义别名
  • 6.2 结构体的基本使用
  • 6.2.1 结构体的声明及实例化
  • 6.2.2 匿名结构体
  • 6.2.3 内存中的结构体变量
  • 6.2.4 声明并实例化指针类型的结构体变量
  • 6.3 构造函数与方法
  • 6.3.1 使用结构体实现构造函数
  • 6.3.2 方法与接收者
  • 6.4 结构体的嵌套
  • 6.4.1 嵌套结构体
  • 6.4.2 嵌套匿名结构体
  • 6.4.3 使用结构体实现继承
  • 6.5 案例:三酷猫开银行
  • 6.6 练习与实验
  • 1.填空题
  • 2.判断题
  • 3.实验题
  • 第7章 接口
  • 7.1 接口概述
  • 7.2 接口的定义和使用
  • 7.2.1 接口的定义
  • 7.2.2 接口的实现
  • 7.2.3 调用接口方法
  • 7.2.4 值接收者与指针接收者
  • 7.2.5 实现多个接口
  • 7.2.6 接口的嵌套
  • 7.3 空接口的定义和使用
  • 7.3.1 空接口的定义
  • 7.3.2 空接口的使用
  • 7.4 类型断言
  • 7.5 练习与实验
  • 1.填空题
  • 2.判断题
  • 3.实验题
  • 第8章 包
  • 8.1 包的声明与导入
  • 8.1.1 包的声明
  • 8.1.2 包的导入
  • 8.2 Go应用程序的启动流程
  • 8.3 创建包
  • 8.4 Go语言中的常用内置包
  • 8.4.1 文本格式化输出:fmt包
  • 8.4.2 磁盘文件读/写:os包
  • 8.4.3 网络服务:net包
  • 8.4.4 JSON格式工具包:json包
  • 8.4.5 时间和日期:time包
  • 8.4.6 日志服务:log包
  • 8.4.7 类型转换:strconv包
  • 8.5 案例:三酷猫的文件夹递归复制工具
  • 8.6 案例:三酷猫的二维码图片生成器
  • 8.7 练习与实验
  • 1.填空题
  • 2.判断题
  • 3.实验题
  • 第9章 并发、并行与协程
  • 9.1 概念
  • 9.1.1 进程与线程
  • 9.1.2 并发与并行
  • 9.1.3 协程与线程
  • 9.2 Go语言协程:Goroutine
  • 9.2.1 使用Goroutine的优势
  • 9.2.2 创建并启动单个Goroutine
  • 9.2.3 创建并启动多个Goroutine
  • 9.3 Go语言调度模型:GPM
  • 9.3.1 任务调度发展简史
  • 9.3.2 Go语言中的协程
  • 9.3.3 GPM设计思想
  • 9.4 runtime包
  • 9.4.1 获取当前的操作系统类型和CPU类型
  • 9.4.2 获取和设置CPU核心数量
  • 9.4.3 让出资源
  • 9.4.4 终止当前协程
  • 9.5 在协程任务之间传递数据:Channel
  • 9.5.1 通道类型和基本使用
  • 9.5.2 无缓冲(同步)通道的使用
  • 9.5.3 带缓冲通道的使用
  • 9.5.4 判断通道是否关闭
  • 9.5.5 单向通道的构建
  • 9.6 select结构
  • 9.7 加锁和原子操作
  • 9.7.1 互斥锁
  • 9.7.2 读/写互斥锁
  • 9.7.3 原子操作
  • 9.8 定时器
  • 9.8.1 Timer
  • 9.8.2 Ticker
  • 9.9 案例:三酷猫筛选0~1000范围内的素数
  • 9.10 练习与实验
  • 1.填空题
  • 2.判断题
  • 3.实验题
  • 第10章 反射
  • 10.1 使用反射访问变量
  • 10.1.1 获取变量的类型
  • 10.1.2 获取变量的值
  • 10.1.3 反射值的非空和有效性判定
  • 10.2 使用反射访问指针表示的变量
  • 10.3 使用反射访问结构体
  • 10.4 使用反射修改值
  • 10.5 使用反射调用函数
  • 10.6 使用反射创建变量
  • 10.7 练习与实验
  • 1.填空题
  • 2.判断题
  • 3.实验题
  • 第11章 命令行工具
  • 11.1 编译命令go build
  • 11.2 清理命令go clean
  • 11.3 运行命令go run
  • 11.4 代码格式化命令gofmt
  • 11.5 编译并安装命令go install
  • 11.6 获取包命令go get
  • 11.7 练习与实验
  • 1.填空题
  • 2.判断题
  • 3.实验题
  • 第12章 数据库操作
  • 12.1 MySQL
  • 12.1.1 MySQL准备
  • 12.1.2 增删改查(CRUD)操作
  • 12.1.3 事务(Transaction)操作
  • 12.2 Redis
  • 12.2.1 Redis准备
  • 12.2.2 Redis数据类型
  • 12.2.3 使用Go语言对Redis进行操作
  • 12.3 练习与实验
  • 1.填空题
  • 2.判断题
  • 3.实验题
  • part two 第2部分 Go语言项目实战
  • 第13章 开发矩阵计算库
  • 13.1 线性代数基础与项目功能设计
  • 13.1.1 线性代数知识的简单回顾
  • 13.1.2 项目功能设计
  • 13.2 项目初始化与“鸭子类型”
  • 13.2.1 初始化项目
  • 13.2.2 定义matrix包的数据类型
  • 13.2.3 面向对象与Go语言中的“鸭子类型”
  • 13.3 矩阵计算包matrix的开发
  • 13.3.1 定义matrix包中的接口
  • 13.3.2 实现matrix包中的方法
  • 13.3.3 测试matrix包
  • 13.3.4 在其他项目中引用matrix包
  • 13.4 项目总结
  • 第14章 STL文件解析和MongoDB存储
  • 14.1 STL文件简介与项目设计
  • 14.1.1 项目功能需求设定
  • 14.1.2 项目实现思路
  • 14.2 开发utils包
  • 14.2.1 错误处理文件handle.go
  • 14.2.2 文件操作文件fileoper.go
  • 14.3 开发用于模型文件处理的stl包
  • 14.3.1 定义数据类型:type.go文件
  • 14.3.2 解析STL文件数据:stl.go文件
  • 14.3.3 安装和配置MongoDB
  • 14.3.4 操作数据库:db.go文件
  • 14.4 开发路由函数的handler包
  • 14.4.1 定义响应数据格式类型的type.go文件
  • 14.4.2 用于测试服务器程序连通性的ping.go文件
  • 14.4.3 处理STL数据请求的stl.go文件
  • 14.5 开发项目入口文件main.go并测试项目
  • 14.5.1 开发main.go文件
  • 14.5.2 使用Postman测试整个项目
  • 14.6 项目总结
  • 第15章 开发文件加密和解密程序
  • 15.1 实现思路及功能设计
  • 15.1.1 加密和解密过程的实现思路
  • 15.1.2 功能设计
  • 15.2 加密和解密程序的设计与实现
  • 15.2.1 初始化项目
  • 15.2.2 开发项目的utils包
  • 15.2.3 对utils包中的关键函数进行测试
  • 15.3 开发加密、解密和散列值计算的可执行程序
  • 15.3.1 实现加密程序
  • 15.3.2 实现解密程序
  • 15.3.3 实现独立的散列值计算程序
  • 15.4 项目总结
  • 附录A 使用fmt.printf()函数格式化字符串
  • 附录B ASCII编码
  • 附录C 本书配套代码文件
  • 好书分享
  • 封底
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。