书籍作者:米哈里斯·托卡洛斯 | ISBN:9787302594857 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:6907 |
创建日期:2022-11-05 | 发布日期:2022-11-05 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
《精通Go语言(第2版)》详细阐述了与Go语言相关的基本解决方案,主要包括Go语言和操作系统,理解Go语言的内部机制,处理Go语言中的基本数据类型,组合类型的使用,利用数据结构改进Go代码,Go包和函数,反射和接口,UNIX系统编程,Go语言中的并发编程—协程、通道和管道,Go语言的并发性—高级话题,代码测试、优化和分析,网络编程基础知识,网络编程—构建自己的服务器和客户端,Go语言中的机器学习等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。
本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。
前 言
本书旨在帮助读者成为一名更加优秀的Go语言开发者。
本书涵盖了许多令人激动的主题,包括与Go语言机器学习相关的新增章节,以及与Viper和Cobra Go包、gRPC、Docker镜像协同操作、YAML文件协同操作、go/scanner和go/token包协同操作、从Go语言中生成WebAssembly代码相关的信息和示例。
适用读者
本书适用于希望进一步提升编程水平的中级Go程序员和Go语言编程爱好者;此外,本书也适用于具有一定编程经验的使用其他语言的开发人员,他们希望了解Go语言,但并不打算从for循环开始从头学起。
本书内容
第1章首先将介绍Go语言的历史和优点,随后将描述godoc应用程序并解释如何编译和执行Go程序。接下来,本章将考查如何显示输出结果、获取用户输入内容、与程序的命令行参数协调工作、使用日志文件。最后,本章还将讨论错误处理机制,该机制在Go语言中饰演了重要的角色。
第2章首先将讨论Go垃圾收集及其操作方式,随后将介绍不安全的代码、unsafe包、如何在Go语言程序中调用C语言代码、如何从C语言程序中调用Go代码。随后,本章将依次展示defer关键字的用法、strace(1)和dtrace(1)实用程序。在本章其余部分中,我们还将学习如何获取与Go环境相关的信息、Go汇编器的使用以及如何从Go语言中生成WebAssembly。
第3章将讨论Go语言提供的数据类型,其中包括数组、切片、映射、Go指针、常量、循环,以及与日期和时间的协同工作方式。读者不应错过本章中的精彩内容。
第4章在介绍元组、字符串、rune、字节切片和字符串字面值之前首先将考查Go语言结构和关键字struct。本章其余内容则将阐述正则表达式和模式匹配、switch语句、strings包、math/big包、Go语言中的键-值开发、XML协同工作方式以及JSON文件。
第5章将讨论当Go语言提供的结构不适用于特定问题时,如何开发自己的数据结构,包括二叉树、哈希表、链表、队列、栈及其优点。除此之外,本章还将讲解container标准Go语言包中结构的应用,以及如何使用Go语言破解Sudoku谜语以及生成随机数。
第6章将讨论包和函数,包括init()函数、syscall标准Go包、text/template包和html/template包。另外,本章还将进一步展示go/scanner、go/parser和go/token高级包的使用。不难发现,本章将极大地提升Go语言开发人员的编程技能。
第7章将讨论Go语言中3个高级概念,即反射、接口和类型方法。除此之外,本章还将介绍Go语言的面向对象功能,以及如何利用Delve调试Go程序。
第8章将讨论Go语言中的系统编程,其中涉及与命令行参数协同工作的flag包、处理UNIX信号、文件输入和输出、bytes包、io.Reader和io.Writer接口,以及Viper和Cobra Go包的使用。
第9章将讨论协程、通道和管道,这也是实现并发的Go语言方式。此外,本章还将学习进程、线程和协程之间的差别、sync包和Go调度器的操作方式。
第10章将在第9章的基础上继续探讨协程和通道。读者将学习更多关于Go调度器、共享内存、互斥体、sync.Mutex类型和sync.RWMutex类型方面的知识。本章最后一部分内容将阐述工作池,以及如何监测竞争条件。
第11章将介绍代码测试机制、代码优化和代码分析、交叉编译、生成文档Go代码基准测试、创建示例函数、查找不可访问的Go代码。
第12章将介绍net/http包,以及如何在Go语言中开发Web客户端和Web服务,此外还包括http.Response、http.Request、http.Transport结构的使用和http.NewServeMux类型。读者甚至还将学习如何在Go语言中开发一个完整的站点。进一步讲,本章将学习如何读取网络接口的配置信息,以及如何在Go语言中执行DNS查找。除此之外,我们还将学习如何在Go语言的基础上使用gRPC。
第13章将讨论如何与HTTPS流量协同工作、利用net包提供的各项功能在Go语言中创建UDP和TCP服务器和客户端。本章其他主题还包括创建RPC客户端和服务器、在Go语言中开发TCP并发服务器和读取原始网络包。
第14章将介绍Go语言中的机器学习,包括分类、聚类、异常检测、异常值、神经网络、TensorFlow,以及Go语言中与Apache Kafka的协同工作方式。
本书可被划分为3个逻辑部分。其中,第1部分内容深入考查某些重要的Go语言概念,包括用户输入和输出、下载外部Go语言包、编译Go代码、从Go语言程序中调用C代码、从Go语言中创建WebAssembly、使用Go语言的基本类型和Go语言的复合类型。
第2部分内容包括第5~7章,主要处理包和模块中的Go语言代码组织问题、Go语言的项目设计以及Go语言中的某些高级特性。
第3部分内容包括第8~14章,主要处理Go语言中的一些可操作问题。其中,第8~11章将讨论Go语言中的系统编程、Go语言中的并发编程、代码测试、优化和分析;第12~14章将介绍网络编程和Go语言中的机器学习。
本书内容涉及Go和WebAssembly、基于Go语言的Docker、利用Viper和Cobra包创建专业的命令行工具、解析JSON和YAML记录、矩阵计算、与Sudoku协调工作、go/scanner和go/token包、处理git(1)和GitHub、atomic包、gRPC和Go语言以及HTTPS。
本书示例程序短小而完整,旨在阐述相关概念。这包含两方面的优点:首先,读者在学习某种技术时无须查看冗长的代码列表;其次,当创建自己的应用程序和实用程序时,读者可使用这些代码作为起始点。
?提示:
我们已经了解到容器和Docker的重要性,因而本书中包括的各种Go执行文件示例均在Docker镜像中加以使用—Docker镜像可方便地部署服务器应用程序。
技术需求
当运行本书示例程序时,我们需要一台基于UNIX环境的计算机,同时安装较新版本的Go语言,其中包括运行Mac OS X、macOS或Linux的机器。另外,本书提供的大多数代码也将在Microsoft Windows机器上运行。
为了从本书中获得更多开发技能,建议读者尽可能地在自己的程序中实现每章中的知识点,并查看相应的操作结果。除此之外,读者还应完成每章结尾的练习题,或者找出自己的编程问题。
下载示例代码文件
读者可访问www.packt.com并通过个人账户下载本书的示例代码文件。无论读者在何处购买了本书,均可访问www.packt.com/support,经注册后我们会直接将相关文件通过电子邮件的方式发送给您。
下载代码文件的具体操作步骤如下。
(1)访问www.packt.com并注册。
(2)选择SUPPORT选项卡。
(3)单击Code Downloads & Errata。
(4)在Search搜索框中输入书名,然后按照屏幕上的说明操作。
当文件下载完毕后,可利用下列软件的最新版本解压或析取文件夹中的内容。
* WinRAR/7-Zip(Windows环境)。
* Zipeg/iZip/UnRarX(Mac环境)。
* 7-Zip/PeaZip(Linux环境)。
另外,本书的代码包也托管于GitHub上,对应网址为https://github.com/PacktPublishing/ Mastering-Go-Second-Edition。若代码被更新,现有的GitHub库也会保持同步更新。
读者还可访问https://github.com/PacktPublishing/并从对应分类中查看其他代码包和视频内容。
下载彩色图像
我们还提供了与本书相关的PDF文件,其中包含书中所用截图/图表的彩色图像,读者可访问https://static.packt-cdn.com/downloads/9781838559335.pdf进行下载。
图标表示提示信息和操作技巧。
读者反馈和客户支持
欢迎读者对本书提出建议或意见并予以反馈。
对此,读者可向[email protected]发送邮件,并以书名作为邮件标题。
勘误表
尽管我们希望做到尽善尽美,但错误依然在所难免。如果读者发现谬误之处,无论是文字错误抑或是代码错误,还望不吝赐教。对此,读者可访问http://www.packtpub.com/ submit-errata,选取对应书籍,单击Errata Submission超链接,输入并提交相关问题的详细内容。
版权须知
一直以来,互联网上的版权问题从未间断,Packt出版社对此类问题异常重视。若读者在互联网上发现本书任意形式的副本,请告知我们网络地址或网站名称,我们将对此予以处理。关于盗版问题,读者可发送邮件至[email protected]。
若读者针对某项技术具有专家级的见解,抑或计划撰写书籍或完善某部著作的出版工作,则可访问authors.packtpub.com。
问题解答
若读者对本书有任何疑问,均可发送邮件至[email protected],我们将竭诚为您服务。
·IV·
精通Go语言(第2版)
·VII·
前 言
到货快,印刷质量好,是正品
2022-01-15 12:30:30
本人有c和python的项目基础,学过一点点go基础。 买了半个多月,快看完了,也跟着书中敲完代码,现在才来评论。 不建议购买。 不适合初学者,也不适合有基础的同学来进阶。这本书基础没讲,进阶又没进阶到位。
2022-01-15 23:40:41
好书需细读,过节读好书。
2022-01-13 17:57:57
比想象中厚,一直想买这本书,终于在节前拿到了,好好学习下。
2022-01-28 11:50:35
质量好,送货快,十分满意。
2022-01-16 00:05:50
很好的编程书籍,趁打折购买,有时间就学习。
2022-01-14 08:09:49