Go并发编程实战
全新正版 极速发货
¥
52.45
6.6折
¥
79
全新
库存3件
作者郝林 著
出版社人民邮电出版社
ISBN9787115452511
出版时间2017-04
装帧平装
开本16开
定价79元
货号1201488883
上书时间2024-11-24
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
郝林,从业12年有余的软件工匠,靠前知名的Go语言技术布道者,Go语言北京用户组和GoHackers社群的发起人和组织者,多套免费在线Go语言教程的作者,深信Go语言在人工智能时代和机器人时代也能大放异彩的科技信徒。
目录
第1章初识Go语言1
1.1语言特性1
1.2安装和设置2
1.3工程结构3
1.3.1工作区3
1.3.2GOPATH4
1.3.3源码文件5
1.3.4代码包8
1.4标准命令简述11
1.5问候程序13
1.6小结14
第2章语法概览15
2.1基本构成要素15
2.1.1标识符15
2.1.2关键字16
2.1.3字面量17
2.1.4操作符17
2.1.5表达式19
2.2基本类型20
2.3高级类型22
2.3.1数组23
2.3.2切片23
2.3.3字典24
2.3.4函数和方法25
2.3.5接口28
2.3.6结构体29
2.4流程控制30
2.4.1代码块和作用域30
2.4.2if语句32
2.4.3switch语句32
2.4.4for语句34
2.4.5defer语句36
2.4.6panic和recover38
2.5聊天机器人40
2.6小结44
第3章并发编程综述45
3.1并发编程基础45
3.1.1串行程序与并发程序46
3.1.2并发程序与并行程序46
3.1.3并发程序与并发系统47
3.1.4并发程序的不确定性47
3.1.5并发程序内部的交互47
3.2多进程编程48
3.2.1进程48
3.2.2关于同步55
3.2.3管道60
3.2.4信号65
3.2.5socket74
3.3多线程编程97
3.3.1线程98
3.3.2线程的同步107
3.4多线程与多进程125
3.5多核时代的并发编程126
3.6小结130
第4章Go的并发机制131
4.1原理探究131
4.1.1线程实现模型132
4.1.2调度器142
4.1.3更多细节158
4.2goroutine160
4.2.1go语句与goroutine160
4.2.2主goroutine的运作166
4.2.3runtime包与goroutine166
4.3channel169
4.3.1channel的基本概念169
4.3.2单向channel180
4.3.3for语句与channel184
4.3.4select语句185
4.3.5非缓冲的channel190
4.3.6time包与channel192
4.4实战演练:载荷发生器198
4.4.1参数和结果199
4.4.2基本结构201
4.4.3初始化206
4.4.4启动和停止212
4.4.5调用器和功能测试221
4.5小结231
第5章同步232
5.1锁的使用232
5.1.1互斥锁232
5.1.2读写锁236
5.1.3锁的完整示例238
5.2条件变量244
5.3原子操作247
5.3.1增或减247
5.3.2比较并交换249
5.3.3载入250
5.3.4存储251
5.3.5交换251
5.3.6原子值252
5.3.7应用于实际256
5.4只会执行一次257
5.5WaitGroup258
5.6临时对象池262
5.7实战演练——Concurrent Map265
5.8小结280
第6章网络爬虫框架设计和实现281
6.1网络爬虫与框架281
6.2功能需求和分析283
6.3总体设计284
6.4详细设计286
6.4.1基本数据结构286
6.4.2接口的设计293
6.5工具的实现309
6.5.1缓冲器309
6.5.2缓冲池311
6.5.3多重读取器317
6.6组件的实现318
6.6.1内部基础接口319
6.6.2组件注册器321
6.6.3下载器323
6.6.4分析器325
6.6.5条目处理管道328
6.7调度器的实现329
6.7.1基本结构329
6.7.2初始化331
6.7.3启动333
6.7.4停止343
6.7.5其他方法344
6.7.6总结345
6.8一个简单的图片爬虫346
6.8.1概述346
6.8.2命令参数346
6.8.3初始化调度器348
6.8.4监控调度器354
6.8.5启动调度器364
6.9扩展与思路365
6.10本章小结368
附录AGo语言的学习资源369
内容摘要
本书首先介绍了Go语言的优势特性、安装设置方法、工程结构、标准命令和工具、语法基础、数据类型以及流程控制方法,接着阐述了与多进程编程和多线程编程有关的知识,然后重点介绍了goroutine、channel以及Go提供的传统同步方法,之后通过一个完整实例——网络爬虫框架进一步阐述Go语言的哲学和理念,同时分享作者在多年编程生涯中的一些见解和感悟。与上一版相比,本书不仅基于Go 1.8对上一版进行了全面更新,而且更深入地描绘了Go运行时系统的内部机理,并且大幅改进了示例代码。本书适用于有一定计算机编程基础的从业者以及对Go语言编程感兴趣的爱好者,很好适合作为Go语言编程进阶教程。
主编推荐
靠前知名Go语言技术布道者的再造之作
李响、谢孟军、刘奇、左玥、肖德时、Googol Lee、田琪等业内大咖倾心力捧
深入Go语言及其并发原理,挖出并发编程zui佳实践,百样示例助你成为多核计算时代的Go程序高手
精彩内容
靠前章初识Go语言
在讲解怎样用Go语言之前,我们先介绍Go语言的特性、基础概念和标准命令。
1.1语言特性
我们可以用几个关键词或短语来概括Go语言的主要特性。
开放源代码。这显示了Go作者开放的态度以及营造语言生态的决心。顺便说一句,Go本身就是用Go语言编写的。
静态类型和编译型。在Go中,每个变量或常量都必须在声明时指定类型,且不可改变。另外,程序必须通过编译生成归档文件或可执行文件,而后才能被使用或执行。不过,其语法很好简洁,就像一些解释型脚本语言那样,易学易用。
跨平台。这主要是指跨计算架构和操作系统。目前,它巳经支持绝大部分主流的计算架构和操作系统,并且这个范围还在不断扩大。只要下载与之对应的Go语言安装包,并且经过简单的安装和设置,就可以使Go就绪了。除此之外,在编写Go语言程序的过程中,我们几乎感觉不到不同平台的差异。
自动垃圾回收。程序在运行过程中的垃圾回收工作一般由Go运行时系统全权负责。不过,Go也允许我们对此项工作进行干预。
原生的并发编程。拥有自己的并发编程模型,其主要组成部分有goroutine(也可称为Go例程)和channel(也可称为通道)。另外,还拥有一个特殊的关键字go。
完善的构建工具。它自带了很多强大的命令和工具,通过它们,可以很轻松地完成Go程序的获取、编译、测试、安装、运行、分析等一系列工作。
多编程范式。Go支持函数式编程。函数类型为靠前等类型,可以方便地传递和赋值。此外,它还支持面向对象编程,有接口类型与实现类型的概念,但用嵌入替代了继承。
— 没有更多了 —
以下为对购买帮助不大的评价