2
0
mirror of https://github.com/dariubs/GoBooks synced 2024-11-15 12:13:27 +00:00
GoBooks/README.md

201 lines
15 KiB
Markdown
Raw Normal View History

2015-10-09 16:28:42 +00:00
Go Books [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)
2015-05-05 11:32:17 +00:00
====
2015-05-05 16:51:08 +00:00
* [Books](#books)
* [Starter Books](#starter-books)
* [Advanced Books](#advanced-books)
* [Web Development](#web-development)
* [Resources](#resources)
2015-05-05 11:32:17 +00:00
2015-05-05 16:36:34 +00:00
2015-05-05 11:32:17 +00:00
**Books**
====
2015-05-05 12:23:40 +00:00
**Starter Books**
2015-05-05 11:32:17 +00:00
----
2015-05-05 12:23:40 +00:00
2015-05-05 16:36:34 +00:00
###[The Little Go Book](http://openmymind.net/The-Little-Go-Book/) *Free*
2015-05-05 17:17:10 +00:00
<img src="http://openmymind.net/assets/go/title.png" width="120px"/>
2015-05-05 16:36:34 +00:00
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.
2015-05-05 11:32:17 +00:00
###[An Introduction to Programming in Go](http://www.golang-book.com/) *Free*
<img src="http://www.golang-book.com/public/img/intro/cover.0.png" width="120px"/>
2015-05-05 16:36:34 +00:00
This book is a short, concise introduction to computer programming using the language Go. Designed by Google, Go is a general purpose programming language with modern features, clean syntax and a robust well-documented common library, making it an ideal language to learn as your first programming language.
This book is free to [read online](http://www.golang-book.com/) or [pdf form](http://www.golang-book.com/public/pdf/gobook.pdf).
2015-05-05 12:23:40 +00:00
###[Go Bootcamp](http://www.golangbootcamp.com/) *Free*
2015-05-05 17:17:10 +00:00
<img src="https://softcover.s3.amazonaws.com/38/GoBootcamp/images/cover-web.png" width="120px"/>
2015-05-05 16:36:34 +00:00
2015-05-05 12:23:40 +00:00
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](http://www.miek.nl/go) *Free*
2015-05-05 16:36:34 +00:00
A online book to start learning Golang. It features numerous exercises (and answers).
2015-05-05 12:23:40 +00:00
2015-05-08 06:22:24 +00:00
The [markdown source is available on Github](https://github.com/miekg/learninggo).
###[Go in Action](https://www.manning.com/books/go-in-action)
2015-05-05 12:32:00 +00:00
2015-12-23 19:13:20 +00:00
<img src="https://images.manning.com/120/160/resize/book/c/4037d5d-e5e5-49bf-a3c1-480be2907eaa/Kennedy-GO-HI.png" width="120px">
2015-05-05 16:36:34 +00:00
2015-05-05 12:32:00 +00:00
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.
###[Go Programming Blueprints](https://www.packtpub.com/application-development/go-programming-blueprints)
2015-05-05 12:23:40 +00:00
2015-05-05 17:17:10 +00:00
<img src="http://akamaicovers.oreilly.com/images/9781783988020/lrg.jpg" width="120px"/>
2015-05-05 16:36:34 +00:00
Build real-world, production-ready solutions in Go using cutting-edge technology and techniques.
Intended for seasoned Go programmers who want to put their expertise in Go to use to solve big, real-world, modern problems. With a basic understanding of channels and goroutines, you will hone your skills to build tools and programs that are quick and simple. You need not be an expert in distributed systems or technologies in order to deliver solutions capable of great scale. It is assumed that you are familiar with the basic concepts of Go.
2015-05-05 12:23:40 +00:00
###[Programming in Go: Creating Applications for the 21st Century](http://www.informit.com/store/programming-in-go-creating-applications-for-the-21st-9780321774637)
<img src="http://www.informit.com/ShowCover.aspx?isbn=9780321774637&type=f" width="120px"/>
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 Gos key innovations. Along the way, he explains everything from the absolute basics through Gos lock-free channel-based concurrency and its flexible and unusual duck-typing type-safe approach to object-orientation.
2015-05-05 12:23:40 +00:00
2015-12-23 19:13:20 +00:00
###[The Go Programming Language](http://gopl.io/)
2015-10-01 00:55:55 +00:00
2015-10-01 13:48:58 +00:00
<a href='http://gopl.io/'><img src="http://gopl.io/cover.png" width="120px"/></a>
2015-10-01 00:55:55 +00:00
*The Go Programming Language* is the authoritative resource for any
programmer who wants to learn Go.
Alan A. A. Donovan and Brian W. Kernighan show you how to write clear
and idiomatic Go to solve real-world problems.
The book does not assume prior knowledge of Go nor experience with
any specific language, so you'll find it accessible whether you're
most comfortable with JavaScript, Ruby, Python, Java, or C++.
The book features hundreds of interesting and practical examples of
idiomatic Go code that cover the whole language, its most important libraries,
and a wide range of applications.
2015-10-01 13:48:58 +00:00
Source code is freely available for download from the book's companion web site
[gopl.io](http://gopl.io/),
2015-10-01 00:55:55 +00:00
and may be conveniently fetched, built, and installed using the `go get` command.
### [Introducing Go: Build Reliable, Scalable Programs](http://shop.oreilly.com/product/0636920046516.do)
<a href="http://shop.oreilly.com/product/0636920046516.do"><img src="http://akamaicovers.oreilly.com/images/0636920046516/lrg.jpg" width="120px"/></a>
Perfect for beginners familiar with programming basics, this hands-on guide provides an easy introduction to Go, the general-purpose programming language from Google. Author Caleb Doxsey covers the language's core features with step-by-step instructions and exercises in each chapter to help you practice what you learn.
2015-10-01 00:55:55 +00:00
2015-10-15 19:39:57 +00:00
### [Learn Go](https://manning.com/books/learn-go?a_aid=nathany&a_bid=53f68821)
2015-10-01 00:55:55 +00:00
2016-01-26 19:15:32 +00:00
<a href="https://manning.com/books/learn-go?a_aid=nathany&a_bid=53f68821"><img src="https://nathany.com/images/learn-go-meap.jpg" width="120px"/></a>
2015-10-15 19:39:57 +00:00
Learn Go is a beginner-friendly introduction to the Go language. You'll get expert guidance as you work through hands-on exercises. First, you'll walk through basic constructs of the language while building a spaceline ticket generator. Next you'll move on to the type system, decoding text messages from space, and making calculations. You'll discover functions, methods, and collections. And then you'll dive into more advanced topics like nitty-gritty memory management with pointers and Go's concurrency primitives. The last few chapters cover code management in larger projects and automated testing.
2015-10-01 00:55:55 +00:00
2016-06-26 12:02:35 +00:00
### [Go Programming by Example](https://www.amazon.com/Go-Programming-Example-Agus-Kurniawan-ebook/dp/B00TWLZVQQ)
<a href="https://www.amazon.com/Go-Programming-Example-Agus-Kurniawan-ebook/dp/B00TWLZVQQ"><img src="https://images-na.ssl-images-amazon.com/images/I/41tDoH9l0GL.jpg" width="120px"/></a>
Go, commonly referred to as golang, is a programming language initially developed at Google in 2007. This book helps you to get started with Go programming. It describes all the elements of the language and illustrates their use with code examples.
2015-05-05 16:51:08 +00:00
**Advanced Books**
2015-05-05 12:23:40 +00:00
---
2015-05-05 11:32:17 +00:00
2015-05-05 12:23:40 +00:00
###[Test-driven development with Go ](https://leanpub.com/golang-tdd) *Free*
A short guide to Test-driven development in golang. free to [read online](https://leanpub.com/golang-tdd/read).
###[Network Programming with Go](https://www.gitbook.com/book/jannewmarch/network-programming-with-go-golang-/details) *Free*
2015-05-05 12:23:40 +00:00
<img src="https://ek8whxe.cloudimg.io/s/width/226/https://www.gitbook.com/cover/book/jannewmarch/network-programming-with-go-golang-.jpg" width="120px"/>
An e-book on building network applications using the Google Go programming language. Free to [read online](https://www.gitbook.com/book/jannewmarch/network-programming-with-go-golang-/details).
2015-05-05 16:36:34 +00:00
2015-05-05 17:17:10 +00:00
###[Mastering Concurrency in Go](http://shop.oreilly.com/product/9781783983483.do)
2015-05-05 12:23:40 +00:00
2015-05-05 17:17:10 +00:00
<img src="http://akamaicovers.oreilly.com/images/9781783983483/lrg.jpg" width="120px"/>
2015-05-05 12:23:40 +00:00
2015-05-05 17:17:10 +00:00
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.
2015-05-05 12:23:40 +00:00
2015-05-05 17:17:10 +00:00
###[Go in Practice](http://www.manning.com/butcher/)
2015-05-05 12:32:00 +00:00
2015-05-05 17:17:10 +00:00
<img src="http://www.manning.com/butcher/butcher_cover150.jpg" width="120px"/>
2015-05-05 16:36:34 +00:00
2015-05-05 12:32:00 +00:00
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.
2015-05-05 17:17:10 +00:00
###[A Go Developer's Notebook](https://leanpub.com/GoNotebook/)
<img src="https://s3.amazonaws.com/titlepages.leanpub.com/GoNotebook/large?1425551366" width="120px"/>
2015-05-05 12:32:00 +00:00
2015-05-05 17:17:10 +00:00
A developer's exprience in golang.
2015-05-05 12:23:40 +00:00
###[The Go Programming Language Phrasebook](http://www.informit.com/store/go-programming-language-phrasebook-9780321817143)
<img src="http://www.informit.com/ShowCover.aspx?isbn=9780321817143&type=f" width="120px"/>
Tested, easy-to-adapt code examples illuminate every step of Go development, helping you write highly scalable, concurrent software. Youll 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.
2015-05-05 12:23:40 +00:00
**Web Development**
----
###[Building Web Apps with Go](https://www.gitbook.com/book/codegangsta/building-web-apps-with-go/details) *Free*
2015-05-05 11:32:17 +00:00
2015-05-05 17:17:10 +00:00
<img src="https://sm3lir.cloudimage.io/s/width/226/https://www.gitbook.com/cover/book/codegangsta/building-web-apps-with-go.jpg" width="120px"/>
2015-05-05 16:36:34 +00:00
2015-05-05 11:32:17 +00:00
A good resource for start Building Web Apps with Go. Free to [read online](http://codegangsta.gitbooks.io/building-web-apps-with-go/content/), [pdf](https://www.gitbook.com/book/codegangsta/building-web-apps-with-go/details) and [mobi](https://www.gitbook.com/book/codegangsta/building-web-apps-with-go/details) version.
###[Build Web Application with Golang](https://www.gitbook.com/book/astaxie/build-web-application-with-golang/details) *Free*
2015-05-05 17:17:10 +00:00
<img src="https://sm3lir.cloudimage.io/s/width/226/https://www.gitbook.com/cover/book/astaxie/build-web-application-with-golang.jpg" width="120px"/>
2015-05-05 16:36:34 +00:00
Another awesome book for learning Web Development in Golang. Free to [read online](http://astaxie.gitbooks.io/build-web-application-with-golang/content/en/index.html)
2015-05-05 12:23:40 +00:00
###[Mastering Go Web Services ](http://shop.oreilly.com/product/9781783981304.do)
2015-05-05 16:36:34 +00:00
2015-05-05 17:17:10 +00:00
<img src="http://akamaicovers.oreilly.com/images/9781783981304/lrg.jpg" width="120px"/>
2015-05-05 16:36:34 +00:00
2015-05-05 12:23:40 +00:00
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](https://learnable.com/books/level-up-your-web-apps-with-go)
2015-05-05 12:23:40 +00:00
2015-05-05 17:17:10 +00:00
<img src="http://akamaicovers.oreilly.com/images/9780992461294/lrg.jpg" width="120px"/>
2015-05-05 16:36:34 +00:00
This book gives you all you need to use Go in your web applications. Youll 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, youll get advice for better coding in Go. Youll 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.
2015-05-05 12:23:40 +00:00
2015-05-05 12:32:00 +00:00
###[Go Web Programming](http://www.manning.com/chang/)
2015-05-05 17:17:10 +00:00
<img src="http://www.manning.com/chang/chang_cover150.jpg" width="120px"/>
2015-05-05 16:36:34 +00:00
2015-05-05 12:32:00 +00:00
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.
###[Build webapps in Go the anti textbook](https://github.com/thewhitetulip/web-dev-golang-anti-textbook) *free*
<img src="https://github.com/thewhitetulip/web-dev-golang-anti-textbook/blob/master/cover.jpg" width="120px"/>
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.
Free to [read online](https://thewhitetulip.gitbooks.io/webapp-with-golang-anti-textbook/content/)
[Download PDF](https://www.gitbook.com/download/pdf/book/thewhitetulip/webapp-with-golang-anti-textbook)
[Download ePub](https://www.gitbook.com/download/epub/book/thewhitetulip/webapp-with-golang-anti-textbook)
[Download mobi](https://www.gitbook.com/download/mobi/book/thewhitetulip/webapp-with-golang-anti-textbook)
2015-05-05 16:51:08 +00:00
Resources
====
2016-03-25 06:07:13 +00:00
###[A tour of Go](https://tour.golang.org/)
2015-10-09 16:28:42 +00:00
###[Video: Learn Go Syntax in one video](http://www.youtube.com/watch?v=CF9S4QZuV30)
###[Tutorials: Go by Example](https://gobyexample.com/)
###[Go Fundamentals Video Training](http://shop.oreilly.com/category/learning-path/go-fundamentals.do)
2015-10-09 16:33:21 +00:00
###[More Books on the Go Wiki](https://github.com/golang/go/wiki/Books)
2015-05-05 21:05:53 +00:00
2015-05-05 20:05:10 +00:00
Contributing
====
Your contributions are always welcome, just follow [the rules](https://github.com/dariubs/GoBooks/blob/master/CONTRIBUTING.md)!
2015-05-05 16:36:34 +00:00
2015-05-05 20:05:10 +00:00
License
====
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.