Go 101
Minimum price
Suggested price

Go 101

About the Book

Go 101 does the followings:

  1. Emphasizes on basic concepts and terminologies. Without understanding these basic concepts and terminologies, it is hard to fully understand many rules and high level concepts.
  2. Adds the value part terminology and use one special article to explain value parts. This article uncovers the underlying structures of some kinds of types, so that Go programmers could understand Go values of those types more deeply. I think knowing a little possible underlying implementations is very helpful to clear some confusions about all kinds of Go values.
  3. Explains memory blocks in detail. Knowing the relations between Go values and memory blocks is very helpful to understand how a garbage collector works and how to avoid memory leaking.
  4. Views interface values as boxes for wrapping non-interface values. I found thinking interface values as value boxes is very helpful to clear many interface related confusions.
  5. Makes several summary articles and special topic articles by aggregating many knowledge points and details, which would save Go programmers much learning time.

About the Author


A gopher and indie game developer.


The Book
  • PDF

  • EPUB

  • English

Minimum price
Suggested price
Buy It for a Friend and Me (2 copies)

Buy this book for a gopher buddy and me!

  • PDF

  • EPUB

  • English

Minimum price
Suggested price
Buy It for My Go Team (5 copies)

Buy this book for my Go team!

  • PDF

  • EPUB

  • English

Minimum price
Suggested price

Bundles that include this book

Bought separately
Minimum price
Suggested price

Table of Contents

   §0. About Go 101 - why this book is written.

   §1. Acknowledgements

   §2. An Introduction of Go - why Go is worth learning.

   §3. The Official Go SDK - how to compile and run Go programs.

   Become Familiar With Go Code

       §4. Introduction of Source Code Elements

       §5. Keywords and Identifiers

       §6. Basic Types and Their Value Literals

       §7. Constants and Variables - also introduces untyped values and type deductions.

       §8. Common Operators - more type deduction rules are introduced.

       §9. Function Declarations and Calls

       §10. Code Packages and Package Imports

       §11. Expressions, Statements and Simple Statements

       §12. Basic Control Flows

       §13. Goroutines, Deferred Function Calls and Panic/Recover

   Go Type System

       §14. Overview of Go Type System - a must read to master Go programming.

       §15. Pointers

       §16. Structs

       §17. Value Parts - to gain a deeper understanding into Go values.

       §18. Arrays, Slices and Maps - first-level citizen container types.

       §19. Strings

       §20. Functions - variadic functions, function types and values.

       §21. Channels - the Go way to do concurrency synchronizations.

       §22. Methods

       §23. Interfaces - value boxes used to do reflection and polymorphism.

       §24. Type Embedding - type extension in the Go way.

       §25. Type-Unsafe Pointers

       §26. Built-in Generics

       §27. Reflections - the reflect standard package.

   Some Special Topics

       §28. Line Break Rules

       §29. More About Deferred Function Calls

       §30. Some Panic/Recover Use Cases

       §31. The Right Places to Call the Built-in recover Function

       §32. Code Blocks and Identifier Scopes

       §33. Expression Evaluation Orders

       §34. Value Copy Costs in Go

       §35. Bounds Check Elimination

   Concurrent Programming

       §36. Concurrency Synchronization Overview

       §37. Channel Use Cases

       §38. How to Gracefully Close Channels

       §39. Other Concurrency Synchronization Techniques - the sync standard package.

       §40. Atomic Operations - the sync/atomic standard package.

       §41. Memory Order Guarantees in Go

       §42. Common Concurrent Programming Mistakes


       §43. Memory Blocks

       §44. Memory Layouts

       §45. Memory Leaking Scenarios

   Some Summaries

       §46. Some Simple Summaries

       §47. nil in Go

       §48. Value Conversion, Assignment and Comparison Rules

       §49. Syntax/Semantics Exceptions

       §50. Go Details 101

       §51. Go FAQ 101

       §52. Go Tips 101

   §53. More Go Related Topics

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

Now, this is technically risky for us, since you'll have the book or course files either way. But we're so confident in our products and services, and in our authors and readers, that we're happy to offer a full money back guarantee for everything we sell.

You can only find out how good something is by trying it, and because of our 100% money back guarantee there's literally no risk to do so!

So, there's no reason not to click the Add to Cart button, is there?

See full terms...

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $13 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub