Update "An Introduction to Programming in Go" cover
11 KiB
GoLang Books
Books
Starter Books
###The Little Go Book Free
The Little Go Book is a free introduction to Google's Go programming language. It's aimed at developers who might not be quite comfortable with the idea of pointers and static typing. It's longer than the other Little books, but hopefully still captures that little feeling.
###An Introduction to Programming in Go Free
This book is good resource for absolute beginner programmers who loves program in Golang. This book is free to read online or pdf form and also available for purchase at Amazon.com in Kindle or Paperback.
###Go Bootcamp Free
This companion book contains material initially written specifically for this event as well as content from Google & the Go team under Creative Commons Attribution 3.0 License and code licensed under a BSD license.
###Learning Go Free
A online book to start learning Golang. It features numerous exercises (and answers).
The markdown source is available on Github.
###Go in Action
Go in Action introduces the Go language, guiding you from inquisitive developer to Go guru. The book begins by introducing the unique features and concepts of Go. (We assume you're up to speed with another programming language already, so don't expect to spend a lot of time rehearsing stuff you already know.) Then, you'll get hands-on experience writing real-world applications including web sites and network servers, as well as techniques to manipulate and convert data at speeds that will make your friends jealous. In the final chapters, you'll go in-depth with the language and see the tricks and secrets that the Go masters are using to make their applications perform. For example, you'll learn to use Go's powerful reflection libraries and work with real-world examples of integration with C code.
Get started with Go, the C-based Google language that emphasizes concurrency and programmer convenience for developing modern applications. This field guide takes you on an example-driven tour of the language and shows you how to be productive with Go right away.
If you’re familiar with languages such as Java, C, Ruby, or Python, you’ll learn about Go’s unique features and concepts for writing concurrent programs, including multithreading and CPU parallelism, that share state by communicating. Focused modules and hands-on exercises help you understand the basics for building simple, reliable, and efficient software with Go.
Dive headfirst into solving actual enterprise problems and start cutting code from the word go. You will build complete applications around a variety of subjects using a range of different technologies and techniques, all of which are directly applicable to today's tech start-up world.
###Programming in Go: Creating Applications for the 21st Century
Programming in Go brings together all the knowledge you need to evaluate Go, think in Go, and write high-performance software with Go. Summerfield presents multiple idiom comparisons showing exactly how Go improves upon older languages, calling special attention to Go’s key innovations. Along the way, he explains everything from the absolute basics through Go’s lock-free channel-based concurrency and its flexible and unusual duck-typing type-safe approach to object-orientation.
Advanced Books
###Test-driven development with Go Free
A short guide to Test-driven development in golang. free to read online.
###Network programming with Go Free
An e-book on building network applications using the Google Go programming language.free to read online.
###Mastering Concurrency in Go
This book will take you through the history of concurrency, how Go utilizes it, how Go differs from other languages, and the features and structures of Go's concurrency core. Each step of the way, the book will present real, usable examples with detailed descriptions of the methodologies used. By the end, you will feel comfortable designing a safe, data-consistent, high-performance concurrent application in Go.
Go in Practice guides you through dozens of real-world techniques in key areas like package management, microservice communication, and more. Following a cookbook-style Problem/Solution/Discussion format, this practical handbook builds on the foundational concepts of the Go language and introduces specific strategies you can use in your day-to-day applications. You'll learn techniques for building web services, using Go in the cloud, testing and debugging, routing, network applications, and much more.
A developer's exprience in golang.
###The Go Programming Language Phrasebook
Tested, easy-to-adapt code examples illuminate every step of Go development, helping you write highly scalable, concurrent software. You’ll master Go-specific idioms for working with strings, collections, arrays, error handling, goroutines, slices, maps, channels, numbers, dates, times, files, networking, web apps, the runtime, and more.
Web Development
###Building Web Apps with Go Free
A good resource for start Building Web Apps with Go. Free to read online, pdf and mobi version.
###Build Web Application with Golang
Another Awesome book for learning Web Development in Golang. Free to read online
This book will take you through the most important aspects of designing, building, and deploying a web service utilizing idiomatic REST practices with a focus on speed, security, and flexibility. You will begin by building your first API in Go using the HTTP package. You will look at designing and building your application including popular design structures like Model-View-Controller. You will also understand methods for deploying code to staging and development. Finally, you will see how the security features in Go can be used for protection against SQL injection, and sensitive data compromise.
###Level Up Your Web Apps With Go
This book gives you all you need to use Go in your web applications. You’ll learn the basic concepts — language structures, the standard library, and Go tools — then tackle more advanced features like concurrency concepts, testing methodologies, and package structures.
At each step, you’ll get advice for better coding in Go. You’ll see how to structure projects, how to use concurrency effectively, and best practices for testing—as well as many other hints and tips gleaned from real world experience of developing web applications with Go.
Go Web Programming teaches you how to build web applications in Go using modern design principles. You'll work through numerous examples that introduce core concepts like processing requests and sending responses, template engines, and data persistence. You'll also dive into more advanced topics, such as concurrency, web application testing and deployment both to barebones servers and PaaS providers.
Resources
###Video: Learn GO Syntax in one video ###Turorials: GO by example
Contributing
Your contributions are always welcome, just follow the rules!
License
This work is licensed under a Creative Commons Attribution 4.0 International License.