Go 101
Go 101
About the Book
Go 101 does the followings:
- 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.
- 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.
- 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.
- 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.
- Makes several summary articles and special topic articles by aggregating many knowledge points and details, which would save Go programmers much learning time.
Packages
The Book
PDF
EPUB
English
Buy It for a Friend and Me (2 copies)
Buy this book for a gopher buddy and me!
PDF
EPUB
English
Buy It for My Go Team (5 copies)
Buy this book for my Go team!
PDF
EPUB
English
Bundles that include this book
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
Memory
§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...
Earn $8 on a $10 Purchase, and $16 on a $20 Purchase
We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book 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