入门书籍

Go小书 免费

Book - 图1

《The Little Go Book》是对 Google Go 编程语言的免费介绍。它面向可能对指针不太适应和静态类型的想法不太满意的开发人员。它比其他小书篇幅长一些,但希望仍然能捕捉到那种很短小的感觉。

Go编程简介 免费

Book - 图2

这本书是关于使用Go语言编程的简短介绍。Go 是由 Google 设计,是一种具有现代功能、整洁的语法和强大的文档齐全的公共库的通用编程语言,使其成为学习第一种编程语言的理想语言。

这本书可以免费在线阅读pdf格式

Go 训练营 免费

Book - 图3

这本配套书包含最初专门为此活动编写的材料,以及来自 Google 和 Go 团队在知识共享署名 3.0 许可下的内容和在 BSD 许可下许可的代码。

学习Go 免费

Book - 图4

初学Golang的可以选择的一本在线书籍,有很多练习和答案。

MarkDown源文件

Javascript开发者的Go教程 免费

Book - 图5

这本书主要面向Javascripters ,概述了两种语言之间的差异从而使得来回切换语言变得更加容易,并且有助于减少来回切换语言时带来的一些潜在问题。

通过测试学习Go 免费

Book - 图6

通过测试学习Golang,学习Go语言的一个新的特性可以通过写测试用例,让它通过,然后重构和重复修改代码。这样你可以打好测试驱动开发的基础,并了解其背后的原理。

Go 101 免费

Book - 图7

Go 101是一本专注于Go语法/语义和各种与运行时相关的东西(Go 1.17-pre ready)的书,试图帮助gopher们对Go有一个深入透彻的了解。这本书还收集了Go和Go编程中的许多细节。希望这本书对初学者和有经验的Go程序员都有帮助。

Go实战

image.png

这本书介绍了Go语言,并引导你从一个对Go好奇的开发者变成Go大佬。这本书首先介绍了Go语言的独特特点和概念。(我们假设你已经掌握了另一种编程语言,所以不要指望花很多时间再次学习你已经知道的东西。然后,你会收获编写现实中的应用程序(包括网站和网络服务器)的实际经验,并且会让你拥有令人嫉妒的快速操纵和转换数据技术的能力。在最后几章中,你会深入了解Go语言,并了解Go大佬们在应用程序中运用的一些技巧和秘密。例如,你会学习使用Go语言强大的反射库,并使用与C语言集成的一些真实实例。

Go编程蓝皮书

Book - 图9

这本书主要展示了如何构建强大的系统,并让你置身于真实环境中。可扩展、高性能和高可用性一直是我们项目的核心,贯穿本书的经验教训可以为你提供构建世界一流解决方案所需要的东西。

用Go编程: 创建21世纪的应用程序

Book - 图10

这本书汇集了对Go的评价、在Go中思考以及使用Go编写高性能软件所需的所有知识。Summerfield 做了多种习惯用法的对比,准确地展示了Go是如何改进旧语言的,并呼吁人们特别关注Go语言的关键创新。一路走来,他解释了很多,从基础知识到Go的基于无锁通道的并发性,以及它灵活而不寻常的面向对象的鸭子类型安全方法。

Go编程语言

Book - 图11

这本书是任何一个想学习Go的程序员的权威资源。Alan A. A. Donovan 和Brian W. Kernighan 向你展示了如何写出清晰而地道的Go来解决现实世界的问题。这本书没有假设对Go知识的提前了解,也没有任何特定语言的基础,所以无论你喜欢JavaScript、Ruby、Python、Java还是C++,你会发现它是简单好学的。

这本书以数百个有趣而实用的Go代码示例为特色,涵盖了整个语言、其最重要的库和广泛的应用程序。源代码可以从这本书的配套网站上免费下载gopl.io,也可以方便地使用go get命令去拉取、构建和安装。

介绍Go:构建可靠、可扩展的程序

Book - 图12

这本书很适合有编程基础知识的初学者,本实践指南提供了对Go的简单介绍,Go是谷歌发明的通用编程语言。作者Caleb Doxsey在每一章都用一步一步的指导和练习来覆盖语言的核心特性,来帮助你练习你所学的东西。

通过Go学编程

image.png

这本书介绍强大的Go语言,不会混淆行话或高级理论。通过学习32堂速战速决的课程,你会很快掌握Go语言的基础知识!

通过例子学Go编程

image.png

Go,通常被称为golang,是一种编程语言,最初于2007年在谷歌开发。这本书帮助你开始使用Go编程。它描述了语言的所有元素,并用代码示例说明了它们的用法。

Go食谱

Book - 图15

使用问题解决方法来解决你的Go问题。每个recipe 都是Go中一个实际编程问题的独立答案。这本书包含了处理Go基本原理的recipe ,允许你编译简单、可靠和高效的软件。其他主题包括了使用现代NoSQL数据库(如MongoDB和RethinkDB)处理数据。这本书为在Go中为你的移动客户端应用程序和网络客户端应用程序构建高度可扩展的后端API提供了深入的指导。

学习Go编程

image.png

Learning Go Programming is a book intended to help new, and seasoned programmers alike, to get into the Go programming language. The book distills the language specs, the documentations, the blogs, the videos, slides, and the author’s experiences of writing Go into content that carefully provides the right amount of depth and insights to help you understand the language and its design.

这本书是一本旨在帮助新手和经验丰富的程序员学习Go编程语言的书。这本书提炼了语言规范、文档、博客、视频、幻灯片和作者的写作经验。并详细细地提供了一些适当的深度内容和见解,来帮助你理解语言及其设计。

Go中的API基础

Book - 图17

通过这本书,你会学会使用Go,利用它的多线程特性和类型化语法。在Go中开始你的API实现是你迈向坚如磐石的API的第一步。

如何使用Go编程

这本书旨在向你介绍如何使用Go编程语言进行编写程序。你会学习到如何编写有用的工具和应用程序,这些工具和应用程序可以运行在远程服务器上,也可以运行在本地的Windows、macOS和Linux系统上进行开发。这里提供了How to Code in Go-电子书How to Code in Go-PDF

热爱Go:基础

image.png

这本可下载的电子书是对Go编程语言的互动式介绍,完全适合初学者。它介绍了Go中测试驱动开发(TDD)的工作流程,并指导你实现完整的Go包,测试优先。你会学会使用多个案例进行测试,以及如何测试可能返回错误的函数。

Go工场

image.png

《The Go Workshop》会减轻你学习Go编程语言时的痛苦。它旨在教你在构建真实世界的软件时提高效率。这本书以一种引人入胜的实践方式介绍了专业人士在日常工作中使用Go的特性。

高级编程

Go测试驱动开发 免费

golang测试驱动开发的简短指南。Go测试驱动开发在线免费阅读

Go安全编程练习指南 免费

这本书的主要目标是帮助开发人员避免常见的错误,同时通过“实践方法”学习一种新的编程语言。这本书提供了关于“如何安全地做到这一点”的详细信息,展示了在开发过程中会出现哪些安全问题。

Go在领域驱动的应用:用Go构建现代商业化软件 免费

Book - 图20

《Go with the Domain》是一本关于构建以常用方式解决复杂问题的Go应用程序的书。它以领域驱动设计、整洁架构、CQRS(命令查询责任分离todo)和其他模式等技术为特色。

这本书是基于一个真正的开源项目。各个章节主要通过项目的重构来展示常见的反模式以及如何避免它们。

Go网络编程

Book - 图21

主要深入探讨网络架构和 Go 中的一些关键主题,如数据序列化、应用层协议、字符集和编码。这本书涵盖了网络架构,并概述了作为入门的Go语言,涵盖了最新的Go版本。

除了基础知识,使用Go进行网络编程还涵盖了关键的网络和安全问题,如HTTP和HTTPS、模板、远程过程调用(RPC)、网络套接字(包括HTML5网络套接字)等。

Go网络编程

Book - 图22

使用Go进行网络编程将帮助你利用Go编写安全、可读、生产就绪的网络代码。使用Go进行网络编程是你利用Go内置的并发性、快速编译和丰富的标准库所需要的一切。

掌握Go并发编程

Book - 图23

这本书将带你了解并发的历史,Go如何利用它,Go如何不同于其他语言,以及Go并发核心的特性和结构。每一步,这本书都会给出真实的、可用的例子,并详细描述所使用的方法。最后,你会觉得在Go中设计一个安全、数据一致、高性能的并发应用程序很正常。

Go实战

image.png

《Go in Practice》指导你在包管理、微服务通信等关键领域使用数十种真实技术。遵循cookbook风格的问题/解决方案/讨论格式,这本实用手册建立在Go语言的基础概念上,并介绍了你可以在日常应用中使用的具体策略。你将学习构建web服务的技术、在云中使用Go、测试和调试、路由、网络应用程序等等。

一个Go开发者的笔记

Book - 图25

一位开发者关于Golang的经验总结。

Go编程语言常用手册

Book - 图26

经过测试、易于修改的代码示例阐明了Go开发的每一步,帮助你编写高度可扩展的并发软件。你将掌握特定于Go的常用用法,用于处理字符串、集合、数组、错误处理、Goroutines、切片、Map、Channel、数字、日期、时间、文件、网络、网络应用程序、运行时等。

Go设计模式

Book - 图27

通过使用TDD,学习常用的、高效的、整洁的和可扩展的Go设计和并发模式。

Go黑帽

Book - 图28Book - 图29“)

在这本书中你将学习如何在Go中编写强大而有效的渗透测试工具,Go是一种因速度和可扩展性而备受尊崇的语言。首先介绍Go基础知识,如数据类型、控制结构和错误处理;然后,具备深入Go语言的底层能力。

Go并发编程

Book - 图30Book - 图31“)

众所周知,并发性很难处理好,但幸运的是,Go开源编程语言使得处理并发性变得很容易甚至更容易。如果你是一个熟悉Go的开发人员,这本实用的书展示了最佳实践和模式来帮助你将并发性融入到你的系统中。

Go依赖注入实践

image.png

这本书带你踏上旅程,教你采用依赖注入(DI)使用 Go 中可用的各种方法重构现有代码,。

在本书介绍的六种方法中,有些是常规的,如构造函数或方法注入,有些是非常规的,如即时注入或配置注入。每种方法都有详细的解释,重点是它们的优点和缺点,并逐步说明如何应用。通过大量的例子,你将学习如何利用DI将代码转换成简单灵活的东西。

Go中的手动依赖注入采用了一种务实的方法,非常注重代码、用户体验以及如何通过增量更改实现长期收益。

Go软件编程实践

Book - 图33

这本Golang书籍提炼了编写易于测试和维护的精益Go代码的行业最佳实践,并通过从头开始创建一个名为Links ‘ R ‘ Us的多层应用程序来帮助你探索其实际实现。你会学到设计、实现、测试、部署和扩展应用程序的所有步骤。从单体架构开始,你会迭代更新将项目转换为支持大链接图的高效核外处理的面向服务的架构(SOA)。

你将了解各种尖端和先进的软件工程技术,例如构建可扩展的数据处理管道、使用gRPC设计APIs以及大规模运行分布式图形处理算法。最后,你将学习如何使用Docker编译和打包你的Go服务,并自动将其部署到Kubernetes集群。

Go宇宙之旅—Spaceship Go 免费

Book - 图34

《Spaceship Go》是一本Go标准库的学习教程。为了理解它们为什么有用,以及它们在底层是如何实现的,我们探索了几个关键的包。它作为该语言提供的一些关键可用工具和原语的参考,这对于编写高性能和常用的代码非常有帮助。

Go安全

Book - 图35

《Go安全》是第一本关于Golang安全的书籍,对蓝队和红队应用都很有用。通过这本书,你将学会如何编写安全软件、监控系统、保护数据、攻击系统和提取信息。

防御主题包括加密、取证、数据包捕获和构建安全的web应用程序。

攻击性主题包括暴力、端口扫描、数据包注入、网页抓取、社会工程和后期利用技术。

Web开发

使用Go构建Web应用程序 免费

A good resource for start Building Web Apps with Go. 免费 to read online.

一个开始用Go构建网络应用程序的好资源。自由地在线阅读

使用Golang构建Web应用程序g 免费

另一本学习Go网络开发的好书。自由地在线阅读

Webapps in Go the anti textbook 免费

Book - 图36

This book was written to teach how to develop web applications in Go for people who know a bit of Go and have basic information about web applications in general. We (you) will build a webapp without using a third party framework and using as few external libraries as possible. The advantage is that you’ll learn a lot when you code without a framework.

这本书是为了教那些对Go有所了解并对网络应用有基本了解的人如何在Go中开发网络应用而写的。你会学到在不使用第三方框架和尽可能少使用外部库的情况下构建webapp。这样做的好处是,当你在没有框架的情况下编写代码时,你会学到很多东西。

掌握Go Web服务

Book - 图37

本书将带你了解利用常用的REST实践设计、构建和部署web服务的最重要方面,重点是速度、安全性和灵活性。你将从使用HTTP包在Go中构建你的第一个API开始。你将看到设计和构建你的应用程序,包括流行的设计结构,如模型-视图-控制器。你还将了解将代码部署到stage和dev环境的方法。最后,你将看到如何使用Go中的安全特性来防止SQL注入和敏感数据泄露。

使用Go升级你的Web应用程序

Book - 图38

这本书为你提供了在网络应用中使用Go所需的一切。你将学习基本概念——语言结构、标准库和Go工具——然后处理更高级的特性,如并发概念、测试方法和包结构。

在每一章节,你都会得到更好的建议。你将看到如何构建项目、如何有效地使用并发性、测试的最佳实践,以及从使用Go开发web应用程序的实际经验中收获到的许多其他提示和技巧。

Go Web编程

image.png

Go网络编程会教你如何使用现代设计原理在Go中构建网络应用程序。你将通过大量的例子介绍核心概念,如处理请求和发送响应、模板和数据持久性。你还将深入探讨更高级的主题,例如并发性、web应用程序测试以及准系统服务器和PaaS提供商的部署。

Go云原生:构建Web程序和微服务

云原生:使用Go和React构建Web应用和微服务

image.png

如今,公司和开发商需要以极快的速度应对不断变化的市场。不是建立在高可用性、快速发展的软件上的的组织正在走灭亡的路。云原生Go汇集了开发人员构建大规模云应用程序所需的知识,能够满足当今客户和市场永不满足的需求。

Go Web开发: 用Go学习去创建真实的应用

使用Go进行网络开发是为了教初学者和专家如何创建和部署一个真正的网络应用程序。你不会构建一个样板TODO列表,而是从头开始创建和部署一个生产就绪的照片库应用程序,类似于Pixieset。这本书假设没有以前的网络开发经验,涵盖了成功构建自己的网络应用程序所需了解的一切。

构建GoWeb程序

image.png

本课程是一个宝贵的资源,可以帮助你了解Go构建简单、可靠、安全和高效的网络应用程序的强大功能。

用Go构建微服务

Book - 图42

无论你是计划一个新的应用程序,还是在一个现有的项目中工作,这本书都将通过实际的例子来解释和说明各种规模的团队是如何开始用微服务解决问题的。它将帮助你理解Docker和Docker-Compose,以及如何使用它来隔离微服务依赖和构建环境。最后,我们向你展示了监控、测试和治理微服务的各种技术。

Docker 和 Go 的 12 Factor 应用程序

Book - 图43

这本书充满了如何使用Docker和Go创建最终的12factor应用程序的例子。它涉及到各个步骤十二Factor应用指南以及如何使用Go和Docker实现它们。

用Go构建SaaS应用

Book - 图44

Together, we’ll build a strong, API-first, reusable codebase suitable for
building a SaaS or vanilla web application. By the end of the book you’ll have
a solid framework to use as the starting point for future projects.

我们将一起构建一个强大的、以API优先的、可重用的代码库,适用于构建SaaS或普通的web应用程序。这本书的最后,你将有一个坚实的框架作为以后项目的起点。

Let’s Go!

Book - 图45

让我们开始一步步教你开始如何使用Go创建快速、安全和可维护的网络应用程序。它指导你从头到尾构建一个真实的应用程序,涵盖了如何构建代码、管理依赖关系、对用户进行身份验证和授权、保护服务器和测试应用程序等主题。

Go脑筋急转弯

Book - 图46

Go是一种简单的语言,但像所有其他语言一样,它也有自己的特点。这本书利用这些特性作为教学机会。通过了解你的知识差距,你会变得更擅长你所做的事情。

这本书包含了25个智力测验和答案。你可以查看示例章节这里

用TinyGo和WebAssembly来DIY你的微控制器项目

Book - 图47

虽然Go通常被认为是一种快速而紧凑的编程语言,但它难以会在低内存或低功耗设备(如微控制器或物联网)上创建和运行的大型可执行文件。TinyGo是一种新的编译器,允许开发人员为这种低功耗设备编译程序。由于TinyGo支持Go编程语言的所有标准特性,你不必调整代码来适应微控制器。

这本书是一本充满有趣的DIY项目的实践指南,将向你展示如何构建嵌入式应用程序。你将学习如何对传感器进行编程,以及如何使用Arduino UNO和Arduino Nano IoT 33等微控制器。接下来的章节将向你展示如何使用各种流行设备(如发光二极管、7段显示器和定时器)开发多个真实世界的嵌入式项目。接下来,你将逐步构建交互式原型,如交通灯系统、非接触式洗手计时器等。随着你的前进,你将创建一个天气警报系统的物联网原型,并在TinyGo WASM仪表板上显示这些警报。最后,你将构建一个家庭自动化项目,在TinyGo WASM仪表板上显示统计数据。

在这本微控制器书的最后,你将掌握使用TinyGo的力量构建真实世界的嵌入式项目所需的技能。

掌握Go第2版

image.png

这本书是帮助业余和中级Go程序员的Go知识更上一层楼,以及在其他编程语言有经验的开发人员准备的,他们想学习Go没有学习一遍如何for循环有效。

这本书介绍了相对较小但完整的Go程序,说明了提出的概念。这有两个主要优点:第一,当你试图学习一种技术时,你不必看无穷无尽的代码清单,第二,当你创建自己的应用程序和实用程序时,你可以把这段代码作为一个起点。

Go分布式服务:可靠、可扩展和可维护的系统指南

Book - 图49

通过学习如何设计、开发和部署分布式服务,让你的Go技能更上一层楼。从存储处理的最基本要素开始,逐步将客户端和服务器联网,将单节点应用程序转变为具有服务发现和共识的分布式系统,然后将服务部署到云中。所有这些都将使日常工作或辅助项目中的编码变得更容易、更快、更有趣。