《Go语言从入门到精通》从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了Go语言的基础、进阶提高和高级应用知识。全书分为4篇,共19章,包括初识Go语言、Go语言基础、Go语言基本数据类型与运算符、流程控制、复合数据类型、函数、指针、结构体、接口、错误处理、并发编程、包管理、标准库、编译与测试工具、反射、MySQL数据库编程、文件处理、网络编程和Go语言在爬虫中的应用等内容。所有知识都结合具体实例进行讲解,涉及的程序代码给出了详细的注释。全书共计98个应用实例,学练结合,读者可以轻松领会Go语言的开发精髓,快速提升开发技能。
《深入浅出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的使用,以及
学习内容: 如何开发用于你自己安全项目的高性能工具。 如何创建与远程API交互的可用工具。 如何抓取任意HTML数据。 如何使用Go的标准包net/http构建HTTP服务器。 如何编写自己的DNS服务器和代理。 如何使用DNS隧道建立一个C2通道以突破限制性网络。 如何创建漏洞模糊器(fuzzer)以发现应用程序的安全漏洞。 如何使用插件和扩展使产品可以面向未来。 如何构建RC2对称密钥暴力破解工具。 如何在(PNG)图像中植入数据。 准备好扩展你的安全工具库了吗? 那我们出发(Go)吧!
本书作者带你一步一步深入这些方法。你将理解 Go语言为何选定这些并发模型,这些模型又会带来什么问题,以及你如何组合利用这些模型中的原语去解决问题。学习那些让你在独立且自信的编写与实现任何规模并发系统时所需要用到的技巧和工具。理解Go语言如何解决并发难以编写正确这一根本问题。学习并发与并行的关键性区别。深入到Go语言的内存同步原语。利用这些模式中的原语编写可维护的并发代码。将模式组合成为一系列的实践,使你能够编写大规模的分布式系统。学习 goroutine 背后的复杂性,以及Go语言的运行时如何将所有东西连接在一起。
全书分为3篇,第1篇是基础入门篇,包括Go语言入门、Go语言编程基础、算法与数据结构基础、基本数据结构,系统介绍了Go语言基础知识、算法基础、栈、队列、链表等的基本原理,Go语言实现及面试题实战;第2篇是进阶篇,包括树、图两章内容,系统介绍了树与图数据结构的基本原理,Go语言实现及面试题实战;第3篇是高级篇,系统介绍了排序算法、搜索算法、贪心算法、分治算法、回溯算法、动态规划算法、递归算法、常见机器学习算法等的基本原理,Go语言实现及面试题实战。本书还提供了完整的配套代码,同时为重难点知识提供了配套视频,帮助读者以最快的速度从零基础新手向算法高手进阶。
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语言初学者的书,循序渐进地介绍了使用Go语言所必需的知识,展示了非常多生动有趣的例子,并通过提供大量练习来加深读者对书中所述内容的理解。本书共分8个单元,分别介绍变量、常量、分支和循环等基础语句,整数、浮点数和字符串等常用类型,类型、函数和方法,数组、切片和映射,结构和接口,指针、nil和错误处理方法,并发和状态保护,并且每个单元都包含相应的章节和单元测试。 《Go语言趣学指南》适合对初学Go语言有不同需求的程序员阅读。无论是刚开始学习Go语言的新手,还是想要回顾Go语言基础知识的Go语言使用者,只要是想用Go做开发,无论是开发小型脚本还是大型程序,《Go语言趣学指南》都会非常有帮助。
作为时下流行的一种系统编程语言,Go 简单易学,性能很好,且支持各类主流平台。已有大量项目采用 Go 编写,这其中就包括 Docker 等明星作品,其开发和执行效率早已被证明。本书经四年多逐步完善,内容覆盖了语言、运行时、性能优化、工具链等各层面知识。且内容经大量读者反馈和校对,没有明显的缺陷和错误。上卷细致解析了语言规范相关细节,便于读者深入理解语言相关功能的使用方法和注意事项。下卷则对运行时源码做出深度剖析,引导读者透彻了解语言功能背后的支持环境和运行体系,诸如内存分配、垃圾回收和并发调度等。本书不适合编程初学入门,可供有实际编程经验或正在使用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语言程序的编译方法。本书各章还提供了近20个动手练习小项目,便于读者边学边练,迅速提升编程技能。 本书通俗易懂,体系完备,注重实践,适合对Go语言感兴趣的各层次读者使用。
《Go语言程序设计》既是一本实用的Go语言教程,又是一本权威的Go语言参考手册。书中从如何获取和安装Go语言环境,以及如何建立和运行Go程序开始,逐步介绍了Go语言的语法、特性以及一些标准库,内置数据类型、语句和控制结构,然后讲解了如何在Go语言中进行面向对象编程,Go语言的并发特性,如何导入和使用标准库包、自定义包及第三方软件包,提供了评价Go语言、以Go语言思考以及用Go语言编写高性能软件所需的所有知识。 《Go语言程序设计》的目的是通过使用语言本身提供的所有特性以及Go语言标准库中一些常用的包,向读者介绍如何进行地道的Go语言编程。《Go语言程序设计》自始至终完全从实践的角度出发,每一章提供多个生动的代码示例和专门设计的动手实验,帮助读者快速掌握开发技能。《Go语言程序设计》适合对Go语言感兴趣的各个层次
LOGO语言是一种计算机语言,60年代是由美国麻省理工学院的西摩·佩帕特教授研制出的。由于LOGO语言既有较强的功能,又比较容易掌握,所以我们把它作为在小学进行程序设计语言教学的*选择。它不仅适合小学生学习,而且对于计算机初学者也适用。 LOGO语言有许多版本,这本书是在DOS LOGO4.0版本的基础上编写的,为了紧跟计算机教学的以展,我们在书的后面又增加了介绍Winlogo版本的内容。 Winlogo的完全是窗口版本,它可以和其他Windows的操作结合起来使用。它的绘图功能非常强,用Windows画图软件难以实现的复杂图形、用Winlogo却可以很容易就画出来了。 Winlogo还可以用来计算、字表处理、演奏音乐。它的模块化结构对培养学生的逻辑思维、空间想象、创造设计能力等有很大帮助。 这本书的内容通俗易懂,符合小学生点和认知规律。 全书共19课,供小学中
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语言的入门教材,非常适合有一定编程基础的读者学习使用。当然,本书也
随着互联网的飞速发展,各行各业对互联网服务的要求也越来越高,互联网系统很多常见的存储类场景都面临着容量和稳定性风险。此时,本地缓存已无法满足需要,分布式缓存由于其高性能、高可用性等优点迅速被广大互联网公司接受并使用。。本书共分3个部分,每个部分都有3章。第1部分为基本功能的实现,主要介绍基于HTTP的in memory缓存服务、HTTP/REST协议、TCP等。第2部分介绍性能相关的内容,我们将集中全力讲解从各方面提升缓存服务性能的方法,主要包括pipeline的原理、RocksDB批量写入等。*后一个部分则和分布式缓存服务集群有关,主要介绍分布式缓存集群、节点的再平衡功能等。本书选择用来实现分布式缓存的编程语言是当前流行的Go语言。本书适合从事缓存方面工作的工程师或架构师,也适合想要学习和实现分布式缓存的读者。