帮助有志向的年轻人通过努力学习获得体面的工作和生活

          全国免费咨询电话 : 400-609-2893   返回旧版

          热门8周快速入门Go语言(第1版)

          本系列书籍由老男孩教育与路飞学城讲师撰写而成,依托讲师丰富的授课经验,致力于通俗易懂的阐述Go语言的核心基础内容,是十分适宜入门阅读的书籍。
          • 书籍作者:李文周
          • 出版社 :老男孩内部出版
          • 出版时间:2019年6月4日
          • 书籍开本:16开
          • 书籍包装:平装
          • 是否套装:
          • 书籍页数:173页
          • 书号ISBN:----

          学生专享:¥0.000折¥0.00

          老男孩 Linux云计算运维 就业班正在火热招生,坐席有限,【立即抢占报名名额】

          内容简介:

            本书主要针对Go语言初学者快速入门Go语言,全书分为14章三大部分。 第一部分:其中第1章介绍了Go语言的发展历史,并详细介绍了搭建Go语言开发环境的步骤。 第2章到第10章介绍了Go语言的基础语法,第11章介绍了Go语言赖以成名的并发编程的内容。 第二部分:第12章介绍了网络编程部分的内容,自己动手实现一个HTTP Server和HTTP Client。第13章介绍了Go语言中如何进行单元测试。 第三部分:第14章重点介绍了Go语言常用的标准库如fmt、time、flag、文件操作等标准库的用法。

          作者简介:

            李文周,老男孩教育Go学科负责人 多年一线互联网开发经验,前搜狗高级开发工程师。擅长领域:Go、C、Python、JavaScript、小程序等。授课经验丰富,风趣幽默,可能是老男孩教育最严谨的老师。

          书籍目录:

          前言 1

          目录 2

          1.1 Go语言简介 14

          1.1.1 Go语言的发展历史 14

          1.1.2 Go语言的特点 14

          1.1.3 Go语言的应用 14

          1.2 安装Go语言开发工具包 15

          1.2.1 下载 15

          1.2.2 安装 15

          1.3 配置GOPATH 19

          1.4 Go语言项目结构 20

          1.5 第一个Go语言程序 21

          1.5.1 Go语言开发编辑器 21

          1.5.2 安装VSCode 21

          1.5.3 Hello world 23

          1.6 本章小结 24

          1.7 练习题 25

          第2章 Go语言基础语法 26

          2.1 Go语言语法规则 26

          2.1.1 Go语言代码结构 26

          2.1.2 Go语言语法特点 26

          2.2 标识符和关键字 27

          2.2.1 标识符 27

          2.2.2 关键字 27

          2.3 变量 27

          2.3.1 变量的来历 27

          2.3.2 变量声明 27

          2.3.3 变量的初始化 28

          2.4 常量 29

          2.4.1 常量声明 29

          2.4.2 iota 30

          2.5 本章小结 31

          第3章 基本数据类型与运算符 32

          3.1 基本数据类型 32

          3.1.1 整型 32

          3.1.2 浮点型 33

          3.1.3 复数 33

          3.1.4 布尔值 33

          3.1.5 字符串 34

          3.1.6 byte和rune类型 35

          3.2 运算符 36

          3.2.1 算数运算符 36

          3.2.2 关系运算符 37

          3.2.3 逻辑运算符 37

          3.2.4 位运算符 38

          3.2.5 赋值运算符 38

          3.3 本章小结 39

          3.4 习题 39

          第4章 流程控制 40

          4.1 if条件判断 40

          4.1.1 if else基本结构 40

          4.1.2 if判断特殊写法 40

          4.2 for循环 41

          4.2.1 for循环基本格式 41

          4.2.2 无限循环 42

          4.2.3 for range循环 42

          4.2.4 break跳出循环 42

          4.2.5 continue继续下次循环 43

          4.3 switch 43

          4.4 goto label 45

          4.5 break label 46

          4.6 continue label 46

          4.7 本章小结 46

          4.8 习题 47

          第5章 复合数据类型 48

          5.1 Array 48

          5.1.1 Array的定义 48

          5.1.2 数组的初始化 48

          5.1.3 访问数组的元素 49

          5.1.4 数组的遍历 49

          5.1.5 多维数组 50

          5.1.6 数组是值类型 51

          5.2 Slice 51

          5.2.1 切片的定义 51

          5.2.2 基于数组得到切片 52

          5.2.3 make函数构造切片 52

          5.2.4 切片的本质 53

          5.2.5 切片不能直接比较 54

          5.2.6 切片的拷贝赋值 54

          5.2.7 切片的遍历 54

          5.2.8 使用append给切片追加元素 54

          5.2.9 使用copy复制切片 56

          5.2.10 删除切片的元素 56

          5.3 Map 57

          5.3.1 Map定义 57

          5.3.2 map基本使用 57

          5.3.3 判断键是否存在 57

          5.3.4 map的遍历 58

          5.3.5 使用delete函数删除键值对 58

          5.4 本章小结 60

          5.5 习题 60

          第6章 函数 62

          6.1 函数 62

          6.1.1 函数定义 62

          6.1.2 函数调用 62

          6.1.3 函数参数 63

          6.1.4 函数返回值 64

          6.1.5 defer语句 64

          6.2 函数进阶 65

          6.2.1 变量作用域 65

          6.2.2 函数作为变量 66

          6.2.3 匿名函数 67

          6.3 闭包 67

          6.3.1 闭包的定义 67

          6.3.2 闭包的使用 67

          6.4 常用内置函数 68

          6.4.1 panic和recover 68

          6.5 本章小结 70

          6.6 习题 70

          第7章 指针和包 71

          7.1 指针 71

          7.1.1 内存地址和指针类型 71

          7.1.2 指针取值 71

          7.2 new和make 72

          7.2.1 new 73

          7.2.2 make 73

          7.3 包 74

          7.3.1 包的定义 74

          7.3.2 标识符的可见性 74

          7.3.3 包的导入 75

          7.3.4 自定义包名 75

          7.3.5 init初始化函数 75

          7.4 本章小结 76

          7.5 习题 77

          第8章 结构体 78

          8.1 结构体 78

          8.1.1 结构体定义 78

          8.1.2 结构体实例化 79

          8.1.3 匿名结构体 79

          8.1.4 结构体指针 79

          8.1.5 结构体初始化 80

          8.1.6 构造函数 81

          8.2 方法和接收者 81

          8.2.1 方法 81

          8.2.2 接收者 82

          8.2.3 任意类型添加方法 83

          8.3 结构体嵌套 84

          8.3.1 结构体匿名字段 84

          8.3.2 嵌套结构体 84

          8.3.3 结构体继承 86

          8.4 结构体与JSON 87

          8.4.1 结构体字段的可见性 87

          8.4.2 结构体与JSON 87

          8.4.3 结构体标签 88

          8.5 本章小结 89

          8.6 习题 89

          第9章 接口 90

          9.1 接口类型 90

          9.1.1 为什么要有接口 90

          9.1.2 接口的定义 91

          9.1.3 接口的实现 91

          9.1.4 值接收者和指针接收者的区别 92

          9.1.5 类型与接口的关系 93

          9.1.6 接口的嵌套 95

          9.2 空接口 95

          9.2.1 空接口的定义 95

          9.2.2 空接口的应用 96

          9.2.3 类型断言 97

          9.3 本章小结 97

          9.4 习题 98

          第10章 反射 99

          10.1 反射介绍 99

          10.1.1 为什么要使用反射 99

          10.2 reflect 99

          10.2.1 reflect.Type 100

          10.2.2 Type和Kind 100

          10.2.3 reflect.ValueOf 102

          10.2.4 结构体反射 103

          10.3 反射是把双刃剑 105

          10.4 本章小结 105

          10.5 习题 106

          第11章 并发 107

          11.1 什么是并发 107

          11.1.1 并发与并行的区别 107

          11.1.2 Go语言中的并发 107

          11.2 goroutine 107

          11.2.1 使用goroutine 107

          11.2.2 sync.WaitGroup 108

          11.2.3 启动多个goroutine 109

          11.3 goroutine与OS线程 109

          11.3.1 goroutine使用可变的栈 109

          11.3.2 goroutine由go的运行时调度 110

          11.3.3 GOMAXPROCS 110

          11.4 channel 111

          11.4.1 channel介绍 111

          11.4.2 声明channel 111

          11.4.3 初始化channel 111

          11.4.4 channel操作 112

          11.4.5 无缓冲通道 112

          11.4.6 有缓冲通道 113

          11.4.7 循环接收值 113

          11.4.8 单向通道 114

          11.4.9 select多路复用 115

          11.5 并发安全和锁 116

          11.5.1 互斥锁 116

          11.5.2 读写互斥锁 117

          11.5.3 sync.Once 118

          11.5.4 Sync.Map 119

          11.6 本章小结 121

          11.7 习题 121

          第12章 网络编程 122

          12.1 互联网协议 122

          12.1.1 互联网分层模型 122

          12.1.2 物理层 123

          12.1.3 数据链路层 123

          12.1.4 网络层 123

          12.1.5 传输层 124

          12.1.6 应用层 124

          12.2 socket编程 125

          12.2.1 socket图解 125

          12.3 Go语言实现TCP通信 126

          12.3.1 TCP协议 126

          12.3.2 TCP服务端 126

          12.3.3 TCP客户端 127

          12.4 Go语言实现UDP通信 128

          12.4.1 UDP协议 128

          12.4.2 UDP服务端 128

          12.4.3 UDP客户端 129

          12.5 Go语言实现HTTP通信 130

          12.5.1 HTTP协议 130

          12.5.2 HTTP客户端 130

          12.5.3 HTTP服务端 131

          12.6 本章小结 131

          12.7 习题 132

          13 测试 133

          13.1 go test 133

          13.2 测试函数 133

          13.2.1 测试函数格式 133

          13.2.2 测试示例 134

          13.2.3 测试组 137

          13.2.4 子测试 138

          13.2.5 测试覆盖率 140

          13.3 基准测试 141

          13.3.1 基准测试函数格式 141

          13.3.2 基准测试示例 142

          13.3.3 性能比较函数 143

          13.3.4 重置时间 145

          13.3.5 并行测试 145

          13.4 Setup与TearDown 146

          13.4.1 TestMain 146

          13.4.2 子测试的Setup与Teardown 146

          13.5 示例函数 148

          13.5.1 示例函数格式 148

          13.5.2 示例函数示例 148

          13.6 本章小结 149

          13.7 习题 149

          14 常用标准库 150

          14.1 fmt 150

          14.1.1 输出内容 150

          14.1.2 格式化占位符 151

          14.1.3 获取输入 155

          14.2 time 157

          14.2.1 时间类型 157

          14.2.2 时间戳 158

          14.2.3 时间间隔 158

          14.2.4 时间操作 159

          14.2.5 定时器 159

          14.2.6 时间格式化 159

          14.3 strconv 160

          14.3.1 string与int类型转换 160

          14.3.2 Parse系列函数 160

          14.3.3 Format系列函数 161

          14.4 flag 162

          14.4.1 os.Args 162

          14.4.2 flag参数类型 163

          14.4.3 定义flag参数 163

          14.4.4 解析flag参数 163

          14.4.5 flag包其他函数 164

          14.4.6 完整示例 164

          14.5 log 165

          14.5.1 使用logger 165

          14.5.2 配置logger 166

          14.5.3 配置日志前缀 166

          14.5.4 配置日志输出位置 167

          14.5.5 创建logger 167

          14.6 文件操作 168

          14.6.1 打开和关闭文件 168

          14.6.2 读取文件 168

          14.6.3 bufio 170

          14.6.4 ioutil 170

          14.6.5 打开文件 171

          14.6.6 Write和WriteString 171

          14.6.7 bufio.NewWriter 172

          14.6.8 ioutil.WriteFile 172

          14.7 本章小结 172

          14.8 习题 172

          是时候去做成一件事了 174

          书籍前言:

            我与Go语言

            我接触Go语言是在2016年的时候,那时候我还在搜狗上班,当时我在工作中还是写Python和JavaScript为主。一个偶然的机会接触到Go语言,它作为一门静态编译型的语言,编译之后几乎无依赖的特点,深深地吸引了我,当时一下子就觉着这才是我想要的语言。

            后来就开始慢慢学习Go语言了,并且尝试着去编写一些业务代码。当时网上还没有很多关于Go语言的学习资料,我记得我是在github上找到了一些网友自发翻译的Go语言圣经,我拿着PDF去学院路的一家打印店花了20多块钱打印了出来,从那以后上下班的地铁上都是这本书陪着我。

            后面我又在网上看了无闻的教学视频,我记得有两个系列一个是Go语言基础,还有名库讲解,我也学到了很多。感谢无闻大大。

            现在Go语言及其生态的发展已经越来越完善,越来越多的公司也选择Go语言作为主开发语言,Go语言之所以能发展这么快,肯定离不开无数热心的Gopher为Go社区做的贡献。工作之余我也开始尝试写一些Go语言的博客,录制一些Go语言的视频教程,我也想给Go社区做一些自己力所能及的贡献。

            本书是我将之前发布在博客上的文章重新整理而成,希望能帮助到更多的Go语言初学者。但由于水平有限、并且时间仓促,书中难免有错误之处,如能得到您的宝贵建议,将感激不尽。

            本书示例代码及习题答案请加QQ群:745470832索取。

          香港马会开码结果直墦开奖结 阿尔山市| 兴国县| 莱芜市| 连云港市| 乐业县| 邵东县| 萨嘎县| 灯塔市| 伊春市| 咸宁市| 贞丰县| 常德市| 商南县| 华宁县| 晋宁县| 电白县| 天长市| 静海县| 类乌齐县| 黄冈市| 华宁县| 格尔木市| 藁城市| 读书| 曲沃县| 花莲市| 嫩江县| 通河县| 岚皋县| 白玉县| 北宁市| 永仁县| 全椒县| 禹城市| 汽车| 拜城县| 怀远县| 安西县| 鞍山市| 广平县| 屏东市| 米林县| 县级市| 南阳市| 贡山| 盱眙县| 柳州市| 湘西| 司法| 翁牛特旗| 青浦区| 海盐县| 石楼县| 隆林| 嵊泗县| 苏尼特左旗| 乌鲁木齐市| 三原县| 平原县| 阜康市| 平阳县| 织金县| 桑日县| 尼木县| 兴仁县| 奉节县| 达州市| 昭觉县| 扬中市| 克拉玛依市| 昆明市| 平阳县| 亚东县| 云和县| 炎陵县| 靖西县| 靖远县| 手游| 防城港市| 板桥市| 温泉县| 察雅县| 四会市| 章丘市| 兴隆县| 和政县| 双牌县| 盘锦市| 会东县| 莱芜市| 密云县| 虹口区| 淮北市| 新邵县| 康马县| 益阳市| 老河口市| 绵阳市| 五河县| 盐池县| 崇义县| 南开区| 邛崃市| 湘西| 福州市| 重庆市| 酉阳| 留坝县| 贡觉县| 禄丰县| 贵定县| 四会市| 寿宁县| 晋中市| 边坝县| 莱阳市| 望都县| 从化市| 奈曼旗| 凤凰县| 玛多县| 巩留县| 双鸭山市| 德庆县| 江永县| 韶关市| 渑池县| 建湖县| 阿尔山市| 沁源县| 紫阳县| 鄂伦春自治旗| 齐河县| 且末县| 行唐县| 高青县| 博白县| 清水县| 兴文县| 邵东县| 舞阳县| 肥城市| 常熟市| 临洮县| 清丰县| 礼泉县| 杭州市| 榕江县| 深水埗区| 丽水市| 上思县| 平泉县| 巴林左旗| 灌南县| 砀山县| 永昌县| 黑水县| 万安县| 天祝| 老河口市| 呼和浩特市| 望都县| 咸宁市| 扎赉特旗| 丁青县| 新闻| 天长市| 东莞市| 凤冈县| 固始县| 松阳县| 柏乡县| 新兴县| 岱山县| 时尚| 宜昌市| 澄城县| 东丽区| 林西县| 永新县| 思南县| 米林县| SHOW| 新闻| 斗六市| 昭平县| 泗水县| 历史| 邢台县| 昌吉市| 上蔡县| 雷山县| 台东市| 平定县| 平武县| 峡江县| 镇康县| 化隆| 江源县| 遵化市| 安阳县| 铁力市| 谢通门县| 东乌| 合江县| 交城县| 新蔡县| 房产| 兴文县| 麟游县| 阿瓦提县| 宜城市| 巫山县| 呼和浩特市| 石城县| 大田县| 镇江市| 家居| 通江县| 扎赉特旗| 孙吴县| 正安县| 朔州市| 双峰县| 锦屏县| 历史| 金门县| 凌云县| 元阳县| 黄陵县| 桂平市| 赣州市| 临江市| 凤凰县| 阜新市| 黄龙县| 栖霞市| 望谟县| 彰化县| 望江县| 江门市| 皋兰县| 高阳县| 玉田县| 新巴尔虎右旗| 科尔| 万载县| 辽宁省| 泸州市| 富阳市| 米脂县| 库尔勒市| 斗六市| 绥棱县| 宁津县| 璧山县| 嘉禾县| 金沙县| 洞口县| 钟山县| 莲花县| 招远市| 杭锦后旗| 南陵县| 开远市| 临海市| 芒康县| 阿鲁科尔沁旗| 颍上县| 云阳县| 喀什市| 余姚市| 栖霞市| 泸溪县| 古丈县| 龙里县| 仁化县| 嘉鱼县| 汨罗市| 潍坊市| 微博| 刚察县| 徐州市| 祁阳县| 朝阳市| 浦北县| 楚雄市| 深州市| 苏尼特左旗| 从江县| 基隆市| 北京市| 元氏县| 云林县| 和田县| 定安县| 枣庄市| 潼关县| 石门县| 陵水| 富源县| 正镶白旗| 克东县| 应城市| 加查县| 财经| 尉氏县| 泸水县| 甘洛县| 宁强县| 开平市| 芜湖县| 福贡县| 万安县| 马边| 大方县| 黑龙江省| 漳浦县| 柳江县| 镶黄旗| 溧阳市| 武义县| 仪征市| 沁阳市| 建始县| 秭归县| 龙山县| 太湖县| 湘西| 武威市| 新丰县| 沁源县| 嵩明县| 博客| 日土县| 寿阳县| 滨海县| 嵊州市| 威海市| 昭通市| 洛浦县| 康保县| 福泉市| 都昌县| 石狮市| 石景山区| 宁阳县| 满城县| 白玉县| 四子王旗| 赣榆县| 宁陵县| 宣威市| 洛南县| 山西省| 克东县| 洪湖市| 巴青县| 宾阳县| 利津县| 南靖县| 东乡族自治县| 雷波县| 黑河市| 亚东县| 长葛市| 定兴县| 九台市| 宝丰县| 平邑县| 彝良县| 曲水县| 富源县| 平顺县| 崇明县| 浮山县| 涿鹿县| 呼图壁县| 漳浦县| 布尔津县| 珲春市| 田阳县| 阿拉善右旗| 博野县| 滁州市| 从化市| 普兰县| 黄骅市| 嫩江县| 马鞍山市| 抚松县| 安图县| 化隆| 冕宁县| 邵东县| 河间市| 渝中区| 宁阳县| 阜新| 余庆县| 德惠市| 龙岩市| 布拖县| 广平县| 成安县| 陈巴尔虎旗| 明光市| 当涂县| 松江区| 健康| 武乡县| 白玉县| 江永县| 西乌珠穆沁旗| 柳江县| 收藏| 三河市| 饶平县| 叶城县| 上饶县| 泾阳县| 大洼县| 五常市| 铁岭县| 永康市| 新巴尔虎左旗| 乌审旗| 玉溪市| 谢通门县| 宁化县| 白山市| 富平县| 石狮市| 灌阳县| 仁布县| 芜湖县| 三亚市| 泽州县| 吉水县| 娄底市| 延津县| 洞口县| 阿坝县| 许昌县| 沁水县| 西安市| 龙里县| 连城县| 都兰县| 洪湖市| 新闻| 南宫市| 龙口市| 夹江县| 西青区| 康平县| 阜宁县| 吉安县| 吉安县| 卢湾区| 霍州市| 道真| 恩施市| 苏尼特右旗| 汽车| 延吉市| 错那县| 铜陵市| 兴业县| 拜城县| 禹城市| 高陵县| 旅游| 康乐县| 逊克县| 湖口县| 岳阳市| 瑞金市| 公主岭市| 大名县| 弥勒县| 大英县| 广东省| 泰州市| 红河县| 鄢陵县| 洮南市| 米脂县| 溧水县| 开平市| 彭州市| 彰化县| 武邑县| 临西县| 历史| 买车| 沅江市| 阜南县| 靖宇县| 陇西县| 曲阜市| 望奎县| 龙川县| 扎鲁特旗| 咸宁市| 南郑县| 通河县| 临武县| 阿瓦提县| 收藏| http://wap.jp1860proofo.fun http://wap.jp1860flago.fun http://3g.jp1860fronto.fun http://3g.jp1860officero.fun http://3g.jp1860seeko.fun http://3g.jp1860levelo.fun http://3g.jp1860conditiono.fun http://3g.jp1860includeo.fun http://3g.jp1860greeno.fun http://wap.jp1860voiceo.fun http://wap.jp1860perzito.fun http://wap.jp1860zirroro.fun http://wap.jp1860chartero.fun http://m.jp1860shifto.fun http://m.jp1860chipo.fun