《深入浅出Go语言核心编程》是一本全面而深入的Go语言学习手册,涵盖了Go语言的诸多关键特性,包括语法结构、内存原理、并发、上下文机制与框架应用等。本书共20章。第1章引导读者快速搭建开发环境,详细介绍Go语言的环境配置及编译运行的具体细节。第2~5章详细讨论Go语言独特的变量、常量、常用数据类型和流程控制,并重点解析复杂类型的底层实现机制。第6~8章讲解Go语言的函数及如何实现面向对象编程,打通Go语言面向过程和面向对象编程之间的桥梁。第9~12章探讨Go语言的一些高级话题,包括并发、上下文、反射、泛型等。第13~15章探讨Go语言的I/O、网络编程及RPC通信等编程场景。第16~18章是Go语言的扩展话题,涵盖了内存管理、正则表达式和Go语言的汇编。第19章和第20章重点探讨了Go语言在日常开发中的典型应用,主要介绍HTTP框架Gin的使用,以及
全书分为2篇:1.第1篇详细介绍Go语言高性能优势是如何实现的,包括经典的GMP调度模型,Go语言调度器的实现,垃圾回收,以及如何基于管道、锁等并发编程。2.第二篇主要是项目实战,手把手带领读者从0开始搭建高性能、高稳定的Go服务。以及在面对线上问题时,如何调试、分析、解决。通过学习本书,读者对Go语言的核心 高并发会有一个深刻的认识,具备一定的Go并发编程经验,能够独立完成高性能、高稳定Go服务的架构设计,并且能够基于一些工具进行Go线上问题分析与性能调优。
Go语言正在迅速成为构建Web服务的优选语言。本书很好地阐述了Go语言的特性,同时指出了Go语言的惯例代码、陷阱和设计模式。本书语言生动,表述清晰,将Go语言的基本原理与语言哲学联系在一起,引导读者正确编写Go语言。既介绍基础知识,又涵盖高级主题(如反射和C语言互操作),通过大量例子演示了如何写出符合Go语言惯例的代码,解释了可能影响程序行为的底层概念,比如指针对内存布局和垃圾回收的影响。无论你是Go语言的初学者,还是经验丰富的Go语言从业人员,相信都能从本书中获益良多。
在程序员与计算机的 交流 过程中,解释器无疑扮演着优秀的翻译角色。它为只懂0和1的计算机翻译源代码,为看似随机的字符赋予含义。这是如何实现的呢?充满好奇心的你,是否曾经思考过这个问题?跟随本书,你将揭开解释器的神秘面纱,通晓它的工作原理,并编写出自己的解释器。本书采用Go语言来为自创的编程语言Monkey实现解释器。你将为Monkey语言实现类C语法、变量绑定、基本数据类型、算术运算、内置函数、闭包等特性,并了解什么是词法分析器、语法分析器和抽象语法树。
全书分为3篇。第1篇存储基本原理和分布式基本原理。特别针对 Linux OS 的 IO 知识进行讲解,并且还会结合 Go 的存储编程实现。第二篇剖析现有的存储系统实现,对它们使用的设计,概念,实现进行深入的剖析。以此来借鉴。第三篇进行编程实战,将编写数个极具实践价值的应用程序,并且形成一个完备的分布式存储系统。
本书详细介绍WebRTC音视频开发技术,本书系统介绍WebRTC技术的原理与应用,涵盖:WebRTC技术发展历史、应用场景、整体架构,WebRTC通话原理,Web开发环境搭建,HTML5项目简介,访问设备的设置,音视频设备的设置,音视频的录制,结合React Flutter Go技术开发音视频应用的案例等。 分为三篇,共15章,主要内容包括: 基本概念篇 (第1~2章),介绍WebRTC技术发展历史,分析WebRTC整体架构及其核心API,分析WebRTC通话原理,介绍媒体协商、网络协商等基本概念,介绍NAT、SDP、ICE、STUN以及TURN协议; 基础应用篇 (第3~11章),介绍WebRTC技术的方方面面,如访问设备、音视频设置、媒体流与轨道、媒体录制、连接建立过程以及数据通道等,帮助读者快速掌握WebRTC的常用接口; 综合案例篇 (第12~15章),通过一个一对一的视频通话案例,将前面所学知识串起来,案例的客
Go语言高级开发与实战聚焦Go语言的高级开发技巧和应用实战。《Go语言高级开发与实战 》共6章,分别为Go语言基础实战、Go语言高级编程技巧、Go Web编程、Go语言并发编程、分布式系统、Go语言秒杀系统实战。Go语言高级开发与实战简洁而不失技术深度,内容丰富全面,以极简的文字介绍了复杂的案例,是学习Go语言高级开发的实用教程。 Go语言高级开发与实战适合Go语言初学者、Go语言中高级开发人员、Web开发工程师阅读,还可作为大中专院校相关专业和培训学校师生的学习用书。
本书是《用Go语言自制解释器》的续篇。在自制解释器时,你已经为Monkey语言实现了类C语法、变量绑定、基本数据类型、算术运算、内置函数、闭包等特性。是时候让Monkey继续成长了!在本书中,Monkey将继续 进化 ,并终成长为成熟的程序设计语言。在已有词法分析器、语法分析器和抽象语法树的基础上,你将为Monkey语言定义字节码指令,指定操作数,编写反汇编程序,构建执行字节码的虚拟机。通过动手学习,你将能够体验从无到有实现类C语言的乐趣。
本书主要分三个方面介绍Go语言:Go语言精华 并发和小而美的类型系统;Go语言缺陷;Go语言的哲学。本书重点介绍Go语言的实践和并发编程范式,力求让读者不但清楚并发的基本语法和原理,还学会怎么去使用。本书对Go语言规范中的命名类型、非命名类型,底层类型,动态类型等概念进行阐述,让开发者对Go的类型系统有全面的了解;同时,接口是Go类型系统*核心的一个元素,本书中也会花大量的笔墨进行介绍。Go虽然设计得小而美,但语言并不是完美的,有些陷阱和坑需要开发者特别小心,本书会专门介绍Go使用过程中的陷阱,包括: defer陷阱,接口nil,变量短声明引发的困惑,range的临时变量复用,slice底层数组重分配等。Go天然的并发支持能够更好地建模实际问题,本书在*后的部分会介绍Go语言的设计哲学,包括采用组合这种更通用的模式以使得表现力更强;
《精通Go语言(第2版)》详细阐述了与Go语言相关的基本解决方案,主要包括Go语言和操作系统,理解Go语言的内部机制,处理Go语言中的基本数据类型,组合类型的使用,利用数据结构改进Go代码,Go包和函数,反射和接口,UNIX系统编程,Go语言中的并发编程 协程、通道和管道,Go语言的并发性 高级话题,代码测试、优化和分析,网络编程基础知识,网络编程 构建自己的服务器和客户端,Go语言中的机器学习等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。
本书针对Go语言进行微服务开发做了全面细致的介绍,书中内容包括四大部分。 第①部分为Go语言基础(第1~7章),包括Go语言基础语法、Go语言基本特性和Go语言实战项目等内容。 第②部分为Go语言进阶(第8~10章),主要介绍Go语言的并发编程进阶、Go语言Web编程以及综合实战。 第③部分为微服务理论(第11~18章),包括微服务模式的理论基础、微服务的进程间通信、微服务的分布式事务管理、领域驱动设计(DDD)、微服务测试、Docker及ES-CQRS策略。其中,微服务进程间通信重点介绍了gRPC,ES-CQRS策略部分给出了Go语言的实现。 第④部分为微服务实战(第19~22章),这一部分通过实战项目讲解了微服务的生产环境、日志和监控、持续部署等内容。 书中每一部分都提供了示例代码或实战项目,供读者边学习边动手实践,尽量做到让有Go语言基础的人尽快了解、掌握
Go语言是一门既年轻、简捷,又强大、高效、充满潜力的服务器语言。《Go程序员面试笔试宝典》使用浅显易懂的语言与大量流程图,深入介绍了Go语言。全书分为三大部分:第1部分(1~5章)为Go语言基础。介绍了Go 语言中基础、常见的逃逸分析、defer 延迟语句、切片、数组、散列表、通道和接口。第2部分(6~11章)为Go语言类库。介绍了Go语言自身的类库,如unsafe、context、错误、计时器、反射和sync包。第3部分(12~14章)为Go语言高级特性。介绍了调度、内存分配、GC,从原理到源码分析,逐渐深入。这三大部分是runtime 中重要、核心的内容,理解了这三者的原理,才算是对Go语言有了一个比较深入的理解和掌握。 《Go程序员面试笔试宝典》是一本计算机相关专业毕业生面试笔试求职参考书,同时也适合有一定工作经验的开发工程师进一步提升自身水平。
作为时下流行的一种系统编程语言,Go 简单易学,性能很好,且支持各类主流平台。已有大量项目采用 Go 编写,这其中就包括 Docker 等明星作品,其开发和执行效率早已被证明。本书经四年多逐步完善,内容覆盖了语言、运行时、性能优化、工具链等各层面知识。且内容经大量读者反馈和校对,没有明显的缺陷和错误。上卷细致解析了语言规范相关细节,便于读者深入理解语言相关功能的使用方法和注意事项。下卷则对运行时源码做出深度剖析,引导读者透彻了解语言功能背后的支持环境和运行体系,诸如内存分配、垃圾回收和并发调度等。本书不适合编程初学入门,可供有实际编程经验或正在使用Go 工作的人群参考。
本书深入地讲解了Go语言常见特性的内部机制和实现方式,大部分内容源自对Go语言源码的分析,并从中提炼出实现原理。通过阅读本书,读者可以快速、轻松地了解Go语言的内部运作机制。 本书首先介绍Go语言常见的数据结构及控制结构的实现原理,包括管道、切片、Hash表、select和for-range等,这部分内容大都以几个精心准备的测验题目开头,每个测验题目均对应一个知识点,读者可以借此测验自身对该知识点的掌握程度。接着介绍了Go语言*基础的概念,包括协程的概念、协程调度模型、协程调度策略,以及内存分配和垃圾回收相关的内容。本书还介绍了一些标准库、异常处理和依赖管理等非语法相关但非常重要的内容。*后结合作者的见闻,整理了一些发生在真实项目中的编程陷阱。
Go语言是一门年轻、简捷,但是强大、高效、充满潜力的服务器语言。本书使用浅显易懂的语言与大量图片深入介绍了Go语言编译时、类型系统、语法特性、函数调用规范、并发编程、内存管理与垃圾回收、运行状态监控等模块的使用方法和底层原理,并举例说明了构建大型软件工程需要遵循的设计规则,让作者系统并完整掌握Go语言隐藏在使用方法背后的底层细节。 本书适合有一定工作经验的开发工程师进一步提升自己,以便更好地开发软件、系统架构,并进行工作面试。也可以作为高等院校计算机专业师生学习编程语言设计原理的参考教材。
本书是一本来自一线开发者的Go语言编程入门书,深入浅出地讲述了Go语言的语法特性和编程实践,全书分为基础和项目两部分,基础部分主要介绍Go语言开发环境的搭建、基础语法、数据类型、指针、内置容器、函数、结构体、接口、反射、并发编程、包的应用与管理、目录与文件管理、时间管理、数据库编程等,项目部分主要介绍网页自动化测试程序、网络爬虫程序、网络信息反馈网站的开发实践,此外,还介绍了Go语言程序的编译方法。本书各章还提供了近20个动手练习小项目,便于读者边学边练,迅速提升编程技能。 本书通俗易懂,体系完备,注重实践,适合对Go语言感兴趣的各层次读者使用。
Go入门容易,精进难,如何才能像Go开发团队那样写出符合Go思维和语言惯例的高质量代码呢? 本书将从编程思维和实践技巧2个维度给出答案,帮助你在Go进阶的路上事半功倍。 编程思维层面 只有真正领悟了一门语言的设计哲学和编程思维,并能将之用于实践,才算精通了这门语言。本书从Go语言设计者的视角对Go背后的设计哲学和编程思想进行了梳理和分析,指引读者体会那些看似随意实则经过深思熟虑的设计背后的秘密。 实践技巧层面 实践技巧源于对Go开发团队和Go社区开发的高质量代码的阅读、挖掘和归纳,从项目结构、代码风格、语法及其实现、接口、并发、同步、错误与异常处理、测试与调试、性能优化、标准库、第三方库、工具链、Z佳实践、工程实践等多个方面给出了改善Go代码质量、写出符合 Go 思维和惯例的代码的有效实践。 全书的内容覆盖
全书共分为6章,分别是命令行应用、HTTP应用、RPC应用、WebSocket 应用、进程内缓存和 Go语言中的大杀器,其中前5章是Go语言开发中*常见的项目类型。本书对项目开发、细节分析、运行时分析等核心内容进行了较为深入的剖析,提供了相对完整的项目实践经验。在项目迭代过程中,难免会遇到问题,因此本书针对Go语言的大杀器(分析工具)及常见问题进行了全面讲解,帮助读者对各类问题进行排查。本书适合有一定Go语言基础的读者以及相关开发人员阅读。
《精通Go语言(影印版)》讲解Go的相关知识。Go是Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼?霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。
通过不断思考和整理,作者编写了这本更具系统性也更通俗易懂的Go语言入门和进阶书籍,以帮助学习者少走弯路,比其他人更快一步提升职业竞争力。 本书共包含5个部分。 第1部分:快速入门Go语言。作者挑选了变量、常量、基础数据类型、函数和方法、结构体和接口等知识点进行介绍。这部分内容相对简洁,但已经足够让你掌握Go的基本程序结构了。 第2部分:Go语言的高效并发。这部分主要介绍goroutine、channel、同步原语等知识,让你对Go语言层面的并发支持有更深入的理解,并且可以编写自己的Go语言并发程序。这个部分*后一章专门介绍常用的并发模式,可以拿来即用,以更好地控制并发。 第3部分:深入理解Go语言。这部分讲解Go 语言底层原理和高级功能,比如slice的底层是怎样的、为什么这么高效等。这部分内容也是作者特意设计的,跟着作者一起研究底
本书是一本Go语言入门书,全书共分为三部分。*部分讲解Go语言基础知识,包括变量与简单类型、数组、切片、流程控制、字典、函数、结构体与方法、接口等,可以帮助读者快速掌握Go语言的基本程序结构。第二部分讲解Go语言高效并发相关知识,包括协程与通道、并发资源、包管理和测试等,让读者对Go语言层面的并发支持有更深入的理解。第三部分讲解Go语言项目实战,包括Gin框架、生活点评项目实战、账户管理系统实战,以及OAuth 2.0的授权协议等。通过实战,把前面讲解的知识点运用起来,帮助读者快速上手,积累项目经验。
本书是一本Go语言入门书,全书共分为三部分。第一部分讲解Go语言基础知识,包括变量与简单类型、数组、切片、流程控制、字典、函数、结构体与方法、接口等,可以帮助读者快速掌握Go语言的基本程序结构。第二部分讲解Go语言高效并发相关知识,包括协程与通道、并发资源、包管理和测试等,让读者对Go语言层面的并发支持有更深入的理解。第三部分讲解Go语言项目实战,包括Gin框架、生活点评项目实战、账户管理系统实战,以及OAuth2.0的授权协议等。通过实战,把前面讲解的知识点运用起来,帮助读者快速上手,积累项目经验。
本书系统地介绍区块链设计原理和开发技术,包含公链的整体架构和开发细节,主要内容包括:第1章介绍公链设计架构;第2~4章介绍比原链的交互工具、核心进程bytomd,以及API Server实现原理和接口设计。第5章和第6章详细介绍区块链核心部分,包括区块、区块链、交易的核心数据结构,以及UTXO模型、隔离见证、交易脚本、验证等技术概念的实现。第7章和第8章讲解比原链智能合约以及智能合约在BVM虚拟机上运行的过程。第9章和第10章介绍区块链钱包的设计与交易流程,包括密钥、账户、资产管理、交易管理等,还详解了区块链P2P分布式网络实现原理。第11~13章介绍数据存储、共识算法,以及挖矿相关的概念和流程。第14章展望了区块链技术未来的发展趋势。