图书目录

第1章Go语言概述

1.1Go语言简介

1.1.1Go语言发展历史

1.1.2Go语言的特点

1.2Go的下载和安装

1.2.1源码安装

1.2.2标准包安装

1.2.3第三方工具安装

1.3Go基本命令及使用

1.3.1Go常用命令

1.3.2Go文档查看命令

1.3.3其他命令

1.4Go集成开发工具

1.4.1LiteIDE

1.4.2Sublime Text 2

1.5Go程序结构和设计过程

1.5.1Go程序结构

1.5.2Go程序设计过程

1.5.3Go源程序语法要点

1.5.4Go的注释方式

小结

习题

第2章Go数据类型、运算符与表达式

2.1常量、变量与命名规则

2.1.1常量

2.1.2变量

2.1.3标识符与命名规则

2.2基本数据类型

2.2.1布尔型数据

2.2.2整型数据

2.2.3浮点型数据

2.2.4复数

2.2.5字节型数据

2.2.6rune类型

2.2.7uintptr类型

2.3运算符与表达式

2.3.1赋值运算符

2.3.2算术运算符

2.3.3关系运算符

2.3.4逻辑运算符

2.3.5位运算符

2.3.6通道运算符

2.3.7运算符的优先级和结合性

2.4字符串

2.4.1字符串定义

2.4.2字符串操作

2.4.3字符串遍历

2.5常量的初始化规则

2.5.1常量的类型

2.5.2常量定义方法

2.5.3常量的初始化规则

2.6枚举

2.6.1枚举类型的定义

2.6.2iota使用规则

2.6.3iota应用举例

2.7变量的定义与声明

2.7.1变量的类型

2.7.2变量的类型零值

2.7.3变量的作用域

2.7.4变量的声明与赋值

2.8类型别名

2.8.1类型别名定义方式

2.8.2中文类型名

2.9类型转换

2.9.1类型转换方法

2.9.2类型兼容性

2.9.3类型转换分类

小结

习题

第3章Go顺序结构程序设计

3.1顺序结构程序设计和基本语句

3.1.1顺序程序结构

3.1.2简单语句

3.1.3复合语句

3.2Go程序语法注意事项

3.2.1Go程序语句和分号的使用

3.2.2Go程序语句块和左大括号约定

3.2.3注释语句

3.3数据输入输出

3.3.1标准输出函数

3.3.2标准输入函数

3.4Strings包

3.4.1字符串查找函数

3.4.2字符串比较函数

3.4.3字符串位置索引函数

3.4.4字符串追加和替换函数

3.5Strconv包

3.5.1数值转换为字符串函数

3.5.2字符串转换为数值函数

3.5.3Atoi()和Itoa()函数

3.6顺序结构程序举例

3.6.1求平均值

3.6.2计算三角形面积周长

3.6.3求解一元二次方程

小结

习题

第4章Go选择结构程序设计

4.1if语句

4.1.1if语句的形式

4.1.2if语句的嵌套

4.1.3if语句的注意事项

4.2switch语句

4.2.1switch语句结构

4.2.2switch语句的特殊形式

4.2.3switch语句的注意事项

4.3选择结构程序举例

4.3.1解一元二次方程

4.3.2打印中文日期信息

小结

习题

第5章Go循环结构程序设计

5.1for语句

5.1.1for基本循环结构

5.1.2for条件循环结构

5.1.3for无限循环结构

5.1.4使用for语句的注意事项

5.1.5for循环嵌套结构

5.2跳转语句

5.2.1break语句

5.2.2continue语句

5.2.3goto语句

5.3for range语句

5.4循环控制程序举例

5.4.1多重循环嵌套应用举例

5.4.2无限循环和跳转语句应用举例

5.4.3for range语句应用举例

小结

习题

第6章数组、切片和字典

6.1数组

6.1.1数组的声明

6.1.2数组的初始化

6.1.3数组元素的访问和遍历

6.1.4多维数组

6.2切片

6.2.1切片的声明与创建

6.2.2切片元素的访问和遍历

6.2.3切片的操作

6.3字典

6.3.1字典的声明

6.3.2字典的初始化和创建

6.3.3字典的访问和操作

6.4Go语言内存分配机制

6.4.1new函数

6.4.2make函数

6.5字节切片标准库

6.5.1字节切片处理函数

6.5.2Buffer创建函数及操作方法

6.5.3Reader对象及方法

6.6程序举例

6.6.1数组应用

6.6.2Slice应用

6.6.3Map应用

小结

习题

第7章函数

7.1函数声明

7.1.1函数声明基本格式

7.1.2函数声明举例

7.2函数调用

7.2.1调用标准函数

7.2.2调用自定义函数

7.2.3调用外部包中的函数

7.2.4调用内置函数

7.3参数传递和返回值

7.3.1参数传递

7.3.2返回值

7.4变参函数

7.4.1变参函数的声明

7.4.2变参的传递

7.4.3任意类型的变参

7.5匿名函数与闭包

7.5.1匿名函数

7.5.2闭包

7.6函数的递归调用和defer语句

7.6.1函数的递归调用

7.6.2defer语句

7.6.3异常恢复机制

7.7程序举例

7.7.1函数嵌套调用举例

7.7.2变参函数举例

7.7.3多返回值函数举例

小结

习题

第8章结构体和方法

8.1结构体的定义

8.1.1结构体定义

8.1.2结构体变量

8.1.3结构体对象

8.1.4结构体对象初始化

8.1.5结构体的赋值和关系操作

8.2嵌入式结构

8.2.1嵌入式结构用作字段

8.2.2嵌入式结构直接定义结构体变量

8.2.3嵌入式结构直接用于Map

8.3匿名字段

8.3.1匿名字段的初始化

8.3.2匿名字段的访问

8.3.3匿名字段的多种形式

8.3.4匿名字段的重名

8.3.5匿名类型指针

8.4方法

8.4.1结构化程序设计思想

8.4.2面向对象程序设计思想

8.4.3Method的基本定义

8.4.4多个Method可以同名

8.4.5指针作为Receiver

8.4.6匿名Receiver

8.4.7Method的继承

8.4.8Method的重写

8.5可见性规则和Struct的导入

8.5.1可见性规则

8.5.2Struct的导入

8.6字段标签

8.7数据I/O对象及操作

8.7.1ReadWriter对象

8.7.2Reader对象

8.7.3Writer对象

8.8应用举例——链表操作

8.8.1链表简介

8.8.2Struct和Method设计单链表

小结

习题

第9章接口

9.1接口的概念与定义

9.1.1接口的概念

9.1.2接口的定义

9.1.3接口组合

9.1.4空接口

9.2接口执行机制和赋值

9.2.1接口执行机制

9.2.2接口的赋值

9.3匿名字段方法和接口转换

9.3.1匿名字段方法

9.3.2接口转换

9.4接口类型推断

9.4.1Commaok断言

9.4.2Switch测试

9.5反射

9.5.1获取原对象的Type和Value值

9.5.2修改原对象Value值

9.5.3动态调用原对象方法

9.6应用举例——二叉树

9.6.1树的定义和基本术语

9.6.2二叉树简介

9.6.3二叉树的链接存储结构

9.6.4二叉树基本应用测试

小结

习题

第10章Go并发程序设计

10.1程序并发执行概述

10.1.1程序的顺序执行

10.1.2程序的并发执行

10.1.3程序的并行执行

10.2Goroutine

10.2.1操作系统提供的并发基础

10.2.2Goroutine的定义

10.2.3Goroutine的创建

10.3Channel

10.3.1程序间的并发通信

10.3.2Channel简介

10.3.3Channel声明和初始化

10.3.4数据接收和发送

10.3.5Channel的关闭和迭代器

10.3.6单向Channel

10.3.7异步Channel

10.4Select机制和超时机制

10.4.1Select机制

10.4.2超时机制

10.5Runtime Goroutine

10.5.1出让时间片

10.5.2获取CPU核心数和任务数

10.5.3终止当前Goroutine

小结

习题

第11章Go网络编程

11.1Go网络编程简介

11.1.1计算机网络概念和体系结构

11.1.2网络编程基本概念

11.1.3网络编程模式

11.1.4Socket网络编程接口

11.2Go网络编程基础

11.2.1IP地址和域名解析

11.2.2主机信息查询

11.2.3服务信息查询

11.3Go网络编程原理

11.3.1Socket网络编程

11.3.2Go网络编程

11.4TCP网络程序设计

11.4.1TCPAddr地址结构体

11.4.2TCPConn对象

11.4.3TCP服务器设计

11.4.4TCP客户机设计

11.4.5使用Goroutine实现并发服务器

11.5UDP网络程序设计

11.5.1UDPAddr地址结构体

11.5.2UDPConn对象

11.5.3UDP服务器设计

11.5.4UDP客户机设计

11.6IP网络程序设计

11.6.1IPAddr地址结构体

11.6.2IPConn对象

11.6.3IP服务器设计

11.6.4IP客户机设计

11.6.5Ping程序设计

小结

习题

附录AGo语言内置关键字

附录BGo内置函数

附录CGo语言标准库

附录D名词与术语索引表

参考文献