Follow the public account [programmer book list] and reply “book” to receive 30+ high-quality free e-books

Go is a simple, small, pleasant language. It has a few nooks and crannies, but most of them are well designed. It is incredibly fast to learn and avoids some of the lesser-known features of other languages.

Nowadays more and more Internet companies begin to use the language, some start-ups began to use the language to build infrastructure, known by the company are basically on the go way, perhaps, the future of the Internet using golang company will be more and more, so, you want to learn the language in the future? Recommend a list of go books today.

List of go language books

Go language core programming

The core language features of Go include: type system, interface, and concurrency. These three parts are the essence, beauty and important features of Go language, and the book is closely focused on these three themes. Taking the “type system” as an example, the types in the Go language are: Simple type, compound type, named type, unnamed types, static type, dynamic type, the underlying type, type of interface types, specific types and literal, and many other concepts, few of these concepts in other Go books, this book tries to help readers sorted out these types of meaning, establishing concept, nature and learn to recognize type correct use;

In the chapter of interface, not only introduces the concept and usage of interface, but also deeply analyzes the mechanism of interface, so that readers can have a deeper understanding of the non-invasive interface of Go language. In the chapter of concurrent programming, the book presents five concurrent programming paradigms, and uses diagrams to describe the model of concurrent programs, which is easy to understand and easy to read.

In addition, the book also takes out a whole chapter on the Go language programming process may encounter pitfalls, not only tell the reader what the pitfalls are, what is the correct way to use, but also give the root cause of this problem, so that the reader can avoid making the same mistake in the future. Finally, the book discusses the programming ideas of Go language from a philosophical point of view, and I believe that Go language lovers can find their own interesting content from the book

The authors introduce

Li Wenta is now working as the core DBA of payment account of Tencent, FiT (formerly Tenpay), and a senior engineer. With nearly ten years of experience in financial system development, operation and maintenance, I participated in wechat Spring Festival Red Envelope project and payment account core Multi-location multi-activity disaster recovery project from 2016 to 2018.

Go language advanced programming

This book explains the advanced knowledge of Go language from a practical point of view. The book consists of six chapters. Chapter 1 briefly reviews the development history of Go. Chapter 2 and chapter 3 systematically introduce CGO programming and Go assembly language usage; Chapter 4 provides an in-depth introduction to RPC and Protobuf technologies and how to build your own RPC system; Chapter 5 introduces the design and related technology of Web system in industrial environment. Chapter 6 introduces some of the distributed programming techniques of the Go language.

It also covers CGO, which helps readers inherit software heritage, and assembly, which is essential for understanding the underlying implementation of various syntactical designs as you dive into the Go runtime. In addition, the book also contains some up-to-date content, introduces the popular OPEN source gRPC and related applications, describes the basic implementation principles of Go Web framework and technical points in large Web projects, and guides readers to further application of Go language.

This book is suitable for the application of Go language has some experience, and hope to be able to in-depth understanding of the underlying implementation principle or hope to be able to combine the Go language in Web development to achieve advanced learning of technical personnel learning and reference.

Author’s brief introduction

Chai Shushan, a group of early Go language enthusiasts in China, Go language code contributors. He has studied WebAssembly technology and is the author of Introduction to WebAssembly Standards. The GitHub account is chai2010.

Cao Chunhui, who has worked in the Web field for many years, is an open source enthusiast. I am very interested in the architecture of large website system and the implementation of related tools, and have some research achievements. Currently working in Didi Platform technology Department.

Go Web programming

This book comprehensively introduces all the basic concepts needed to develop Web applications using Go and explains in detail how to use modern design principles to build Web applications using Go. The book introduces core concepts (such as handling requests and sending responses, template engines, and data persistence) through extensive examples, and delve into more advanced topics (such as concurrency, Web application testing, and deployment to standard system servers and PaaS providers).

This book takes a network forum as an example to explain how to build a Go Web application using request processor, multiplexer, template engine, storage system and other core components, and then build corresponding Web services on the basis of this application.

It is worth mentioning, this book introduces the Go Web development method, basically only to the language’s own standard library, and won’t use any specific Web framework, readers learn knowledge will not be limited to specific framework, even if in the future need to use off-the-shelf or framework to build their own framework, will benefit from this book.

In addition to specific Web development methods, this book also introduces how to test Go Web applications, how to use Go’s concurrency features to improve the performance of Web applications, and how to deploy Go Web applications on cloud platforms such as Heroku, Google App Engine, and Digital Ocean. In addition, the book offers some experience and tips on Go Web development. This important hands-on knowledge will help readers quickly become truly productive Go Web developers.

Reading this book requires basic Go programming skills and a knowledge of Go syntax. This book is suitable for anyone who wants to use Go for Web development, whether it is a Web development beginner or a developer who has been doing it for a long time.

Author’s brief introduction

Sau Sheong Chang is president of Digital Technologies at Singapore Energy Limited and an active contributor to the Ruby and Go communities. He is the author of four books, including Go Web Programming and R and Ruby Data Analysis Journey.

Huang Jianhong, born in 1990, is a computer technology book translator, the author of Redis Design and Implementation, and the translator of Redis Practice. In addition to his two published works, he has also written and translated a series of open source documents such as Go Standard Library Chinese Documentation, Redis Command Reference, SICP Problem Sets and so on. For more information about Huang Jianhong, please visit his personal page huangz.me.

Go concurrent programming actual combat

This book first introduces the excellent features of Go language, installation and setting methods, engineering structure, standard commands and tools, syntax basis, data types and flow control methods, and then expounds the knowledge related to multi-process programming and multi-thread programming, and then focuses on the traditional synchronization methods provided by Goroutine, Channel and Go. Finally, through a complete example — web crawler framework to further elaborate the philosophy and ideas of Go language, at the same time to share the author’s many years of programming career some insights and insights.

Compared to the previous edition, this book not only provides a comprehensive update based on Go 1.8, but also provides a much deeper picture of the Go runtime internals and significantly improved sample code.

This book is suitable for practitioners who have some basic knowledge of computer programming as well as hobbyists who are interested in Go programming. It is very suitable for advanced tutorials of Go programming.

Author’s brief introduction

The author

Hao Lin, a software craftsman with more than 12 years of experience, is a well-known Go language technology evangelist in China, the initiator and organizer of Go Beijing user group and GoHackers community, the author of several free online Go language courses, and a technology believer who believes that Go language can be brilliant in the era of artificial intelligence and robot.