Go语言"入门易,精通难 。想要用Go语言写出优质的软件,不仅要了解Go语言的语法,还需要对Go语言的特性、软件的通用编写方法、软件项目的组织方法、并发程序设计、软件测试、软件性能优化等方面都有一定的了解。 本书既聚焦于Go语言,又不限于Go语言,介绍了开发者在使用Go语言时经常犯的100个经典错误,内容侧重于语言核心和标准库。对大多数错误的讨论都提供了具体的示例,以说明在什么时候容易犯这样的错误。这不是一本教条主义的图书,每个解决方案都详细传达了它应该适用的上下文。
在程序员与计算机的 交流 过程中,解释器无疑扮演着优秀的翻译角色。它为只懂0和1的计算机翻译源代码,为看似随机的字符赋予含义。这是如何实现的呢?充满好奇心的你,是否曾经思考过这个问题?跟随本书,你将揭开解释器的神秘面纱,通晓它的工作原理,并编写出自己的解释器。本书采用Go语言来为自创的编程语言Monkey实现解释器。你将为Monkey语言实现类C语法、变量绑定、基本数据类型、算术运算、内置函数、闭包等特性,并了解什么是词法分析器、语法分析器和抽象语法树。
本书是《用Go语言自制解释器》的续篇。在自制解释器时,你已经为Monkey语言实现了类C语法、变量绑定、基本数据类型、算术运算、内置函数、闭包等特性。是时候让Monkey继续成长了!在本书中,Monkey将继续 进化 ,并终成长为成熟的程序设计语言。在已有词法分析器、语法分析器和抽象语法树的基础上,你将为Monkey语言定义字节码指令,指定操作数,编写反汇编程序,构建执行字节码的虚拟机。通过动手学习,你将能够体验从无到有实现类C语言的乐趣。
nbsp nbsp《GO语言区块链应用开发从入门到精通》全面地介绍了Go语言区块链应用工程师所需要的基础知识和各种技术,主要分为基础篇、进阶篇和实战篇三部分。全书共7章,其中1~2章为基础篇,介绍Go语言环境安装、基础语法、函数编程、容器编程、面向对象编程、并发编程以及网络编程;3~5章为进阶篇,第3章介绍区块链基本原理、发展历程、行业应用案例,第4章主要介绍智能合约,包括solidity基础语法,多个经典案例,以及Go语言如何调用智能合约,第5章主要介绍区块链原理的程序化实践,包括Go语言实现Base58编码、P2P网络、PoW共识、区块链组块以及UTXO账户模型实现;6~7章为实战篇,介绍2个实战项目,第6章介绍如何实现Go语言版的区块链钱包项目,内容包括助记词生成、私钥存储、Coin交易以及Token交易等内容,第7章介绍如何实现一个版权交易系统,内容包
本书主要分三个方面介绍Go语言:Go语言精华 并发和小而美的类型系统;Go语言缺陷;Go语言的哲学。本书重点介绍Go语言的实践和并发编程范式,力求让读者不但清楚并发的基本语法和原理,还学会怎么去使用。本书对Go语言规范中的命名类型、非命名类型,底层类型,动态类型等概念进行阐述,让开发者对Go的类型系统有全面的了解;同时,接口是Go类型系统*核心的一个元素,本书中也会花大量的笔墨进行介绍。Go虽然设计得小而美,但语言并不是完美的,有些陷阱和坑需要开发者特别小心,本书会专门介绍Go使用过程中的陷阱,包括: defer陷阱,接口nil,变量短声明引发的困惑,range的临时变量复用,slice底层数组重分配等。Go天然的并发支持能够更好地建模实际问题,本书在*后的部分会介绍Go语言的设计哲学,包括采用组合这种更通用的模式以使得表现力更强;
作为时下流行的一种系统编程语言,Go 简单易学,性能很好,且支持各类主流平台。已有大量项目采用 Go 编写,这其中就包括 Docker 等明星作品,其开发和执行效率早已被证明。本书经四年多逐步完善,内容覆盖了语言、运行时、性能优化、工具链等各层面知识。且内容经大量读者反馈和校对,没有明显的缺陷和错误。上卷细致解析了语言规范相关细节,便于读者深入理解语言相关功能的使用方法和注意事项。下卷则对运行时源码做出深度剖析,引导读者透彻了解语言功能背后的支持环境和运行体系,诸如内存分配、垃圾回收和并发调度等。本书不适合编程初学入门,可供有实际编程经验或正在使用Go 工作的人群参考。
《Go语言趣学指南》是一本面向Go语言初学者的书,循序渐进地介绍了使用Go语言所必需的知识,展示了非常多生动有趣的例子,并通过提供大量练习来加深读者对书中所述内容的理解。本书共分8个单元,分别介绍变量、常量、分支和循环等基础语句,整数、浮点数和字符串等常用类型,类型、函数和方法,数组、切片和映射,结构和接口,指针、nil和错误处理方法,并发和状态保护,并且每个单元都包含相应的章节和单元测试。 《Go语言趣学指南》适合对初学Go语言有不同需求的程序员阅读。无论是刚开始学习Go语言的新手,还是想要回顾Go语言基础知识的Go语言使用者,只要是想用Go做开发,无论是开发小型脚本还是大型程序,《Go语言趣学指南》都会非常有帮助。
本书从实践出发讲解Go语言的进阶知识。本书共6章,第1章简单回顾Go语言的发展历史;第2章和第3章系统地介绍CGO编程和Go汇编语言的用法;第4章对RPC和Protobuf技术进行深入介绍,并讲述如何打造一个自己的RPC系统;第5章介绍工业级环境的Web系统的设计和相关技术;第6章介绍Go语言在分布式领域的一些编程技术。书中还涉及CGO和汇编方面的知识,其中CGO能够帮助读者继承的软件遗产,而在深入学习Go运行时,汇编对于理解各种语法设计的底层实现是必不可少的知识。此外,本书还包含一些紧跟潮流的内容,介绍开源界流行的gRPC及其相关应用,讲述Go Web框架中的基本实现原理和大型Web项目中的技术要点,引导读者对Go语言进行更深入的应用。 本书适合对Go语言的应用已经有一些心得,并希望能够深入理解底层实现原理或者是希望能够在Web开发方面结合Go语言来实现进阶
本书深入地讲解了Go语言常见特性的内部机制和实现方式,大部分内容源自对Go语言源码的分析,并从中提炼出实现原理。通过阅读本书,读者可以快速、轻松地了解Go语言的内部运作机制。 本书首先介绍Go语言常见的数据结构及控制结构的实现原理,包括管道、切片、Hash表、select和for-range等,这部分内容大都以几个精心准备的测验题目开头,每个测验题目均对应一个知识点,读者可以借此测验自身对该知识点的掌握程度。接着介绍了Go语言*基础的概念,包括协程的概念、协程调度模型、协程调度策略,以及内存分配和垃圾回收相关的内容。本书还介绍了一些标准库、异常处理和依赖管理等非语法相关但非常重要的内容。*后结合作者的见闻,整理了一些发生在真实项目中的编程陷阱。
本书是一本Go语言入门书,全书共分为三部分。*部分讲解Go语言基础知识,包括变量与简单类型、数组、切片、流程控制、字典、函数、结构体与方法、接口等,可以帮助读者快速掌握Go语言的基本程序结构。第二部分讲解Go语言高效并发相关知识,包括协程与通道、并发资源、包管理和测试等,让读者对Go语言层面的并发支持有更深入的理解。第三部分讲解Go语言项目实战,包括Gin框架、生活点评项目实战、账户管理系统实战,以及OAuth 2.0的授权协议等。通过实战,把前面讲解的知识点运用起来,帮助读者快速上手,积累项目经验。
全书共分为6章,分别是命令行应用、HTTP应用、RPC应用、WebSocket 应用、进程内缓存和 Go语言中的大杀器,其中前5章是Go语言开发中*常见的项目类型。本书对项目开发、细节分析、运行时分析等核心内容进行了较为深入的剖析,提供了相对完整的项目实践经验。在项目迭代过程中,难免会遇到问题,因此本书针对Go语言的大杀器(分析工具)及常见问题进行了全面讲解,帮助读者对各类问题进行排查。本书适合有一定Go语言基础的读者以及相关开发人员阅读。
《Go语言程序设计》既是一本实用的Go语言教程,又是一本权威的Go语言参考手册。书中从如何获取和安装Go语言环境,以及如何建立和运行Go程序开始,逐步介绍了Go语言的语法、特性以及一些标准库,内置数据类型、语句和控制结构,然后讲解了如何在Go语言中进行面向对象编程,Go语言的并发特性,如何导入和使用标准库包、自定义包及第三方软件包,提供了评价Go语言、以Go语言思考以及用Go语言编写高性能软件所需的所有知识。 《Go语言程序设计》的目的是通过使用语言本身提供的所有特性以及Go语言标准库中一些常用的包,向读者介绍如何进行地道的Go语言编程。《Go语言程序设计》自始至终完全从实践的角度出发,每一章提供多个生动的代码示例和专门设计的动手实验,帮助读者快速掌握开发技能。《Go语言程序设计》适合对Go语言感兴趣的各个层次
《Go语言编程入门与实战技巧》从内容上分为三大部分,*部分主要介绍Go语言的基础知识,包括Go语言的安装和开发工具,介绍了Go语言的特性与适合的场景,然后讲解了Go语言的程序结构和数据类型,并针对函数和一些关键字的用法与数据类型的调用原理做了阐述。第二部分介绍了Go语言数据结构和标准库,结合实际应用场景探讨了日常生产环境会遇到的问题与解决办法。第三部分主要介绍Go语言的测试工具和用法,并重点讲解了Go语言的内存管理机制,深入理解Go语言的设计哲学,了解Go语言底层的内存管理和并发机制,为更进一步的学习打下坚实的基础。本书适合对计算机编程尤其是对Go语言编程感兴趣的新手作为入门教程阅读,还适合想在Web开发领域有所发展的程序员学习。
随着互联网的飞速发展,各行各业对互联网服务的要求也越来越高,互联网系统很多常见的存储类场景都面临着容量和稳定性风险。此时,本地缓存已无法满足需要,分布式缓存由于其高性能、高可用性等优点迅速被广大互联网公司接受并使用。。本书共分3个部分,每个部分都有3章。第1部分为基本功能的实现,主要介绍基于HTTP的in memory缓存服务、HTTP/REST协议、TCP等。第2部分介绍性能相关的内容,我们将集中全力讲解从各方面提升缓存服务性能的方法,主要包括pipeline的原理、RocksDB批量写入等。*后一个部分则和分布式缓存服务集群有关,主要介绍分布式缓存集群、节点的再平衡功能等。本书选择用来实现分布式缓存的编程语言是当前流行的Go语言。本书适合从事缓存方面工作的工程师或架构师,也适合想要学习和实现分布式缓存的读者。
本书是一本Go语言入门书,全书共分为三部分。第一部分讲解Go语言基础知识,包括变量与简单类型、数组、切片、流程控制、字典、函数、结构体与方法、接口等,可以帮助读者快速掌握Go语言的基本程序结构。第二部分讲解Go语言高效并发相关知识,包括协程与通道、并发资源、包管理和测试等,让读者对Go语言层面的并发支持有更深入的理解。第三部分讲解Go语言项目实战,包括Gin框架、生活点评项目实战、账户管理系统实战,以及OAuth2.0的授权协议等。通过实战,把前面讲解的知识点运用起来,帮助读者快速上手,积累项目经验。
Go语言是一门年轻、简捷,但是强大、高效、充满潜力的服务器语言。本书使用浅显易懂的语言与大量图片深入介绍了Go语言编译时、类型系统、语法特性、函数调用规范、并发编程、内存管理与垃圾回收、运行状态监控等模块的使用方法和底层原理,并举例说明了构建大型软件工程需要遵循的设计规则,让作者系统并完整掌握Go语言隐藏在使用方法背后的底层细节。 本书适合有一定工作经验的开发工程师进一步提升自己,以便更好地开发软件、系统架构,并进行工作面试。也可以作为高等院校计算机专业师生学习编程语言设计原理的参考教材。
《精通Go语言(影印版)》讲解Go的相关知识。Go是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼?霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。
Go语言在多核硬件架构、超大规模分布式计算集群和Web应用上具有明显的优势,目前Google、Facebook、AWS、Mozilla、七牛、阿里、腾讯、百度、*等大公司都已经开始使用Go语言开发其云计算产品。 本书分为12章,第1章介绍Go语言的基本开发环境;第2章介绍Go语言的语法基础;第3章介绍Go语言的函数;第4章介绍Go语言的流程控制与错误处理;第5章介绍Go语言中的结构体、数组、切片和字典等;第6章介绍Go语言中的指针;第7章介绍Go语言的面向对象用法;第8章介绍Go语言文件读写;第9章介绍Go语言的并发编程;第10章介绍Go语言的反射特性;第11章介绍Go语言如何构建Web服务;第12章用Go语言实现了一个并发聊天实战项目。本书配套源码、课件、开发环境和教学视频。 本书内容详尽、示例丰富,是一本Go语言的入门教材,非常适合有一定编程基础的读者学习使用。当然,本书也
LOGO语言是一种计算机语言,60年代是由美国麻省理工学院的西摩·佩帕特教授研制出的。由于LOGO语言既有较强的功能,又比较容易掌握,所以我们把它作为在小学进行程序设计语言教学的*选择。它不仅适合小学生学习,而且对于计算机初学者也适用。 LOGO语言有许多版本,这本书是在DOS LOGO4.0版本的基础上编写的,为了紧跟计算机教学的以展,我们在书的后面又增加了介绍Winlogo版本的内容。 Winlogo的完全是窗口版本,它可以和其他Windows的操作结合起来使用。它的绘图功能非常强,用Windows画图软件难以实现的复杂图形、用Winlogo却可以很容易就画出来了。 Winlogo还可以用来计算、字表处理、演奏音乐。它的模块化结构对培养学生的逻辑思维、空间想象、创造设计能力等有很大帮助。 这本书的内容通俗易懂,符合小学生点和认知规律。 全书共19课,供小学中