Book #29 - Learning Go
Learning Go
by Jon Bodner (2021)
Meetup: https://www.meetup.com/the-south-padre-island-reading-group/events/286346715
Zoom: Join our Cloud HD Video Meeting
Discord: Join the Los Gatos Reading Group Discord Server!
O’Reilly: Learning Go
Github: Learning Go
Finished!
Congratulations everyone, we’ve finished the book!
Excellent book
Chapter 13 June 17, 2020 | Presenter |
---|---|
The Basics of Testing | Amish |
Table Tests | Amish |
Checking Your Code Coverage | Sam |
Benchmarks | Sam |
Stubs in Go | Sam |
httptest | Casey |
Integration Tests and Build Tags | Casey |
Finding Concurrency Problems with the Race Checker | Casey |
We’re not interested in Chapter 14 (on Reflect, Unsafe, and Cgo), and we’d prefer to learn the final form of generics in Go elsewhere, so this is our final chapter of Learning Go!
Chapter 12 May 27, 2020 | Presenter |
---|---|
What is the Context? | Amish |
Cancellation | Sam |
Timers | Sam |
Handling Context Cancellation in Your Own Code | Casey |
Values | Amish |
Chapter 11 May 20, 2022 | Presenter |
---|---|
io and Friends | Amish |
time | Casey |
encoding/json | Amish |
net/http | Casey |
Chapter 10 May 6, 2022 | Presenter |
---|---|
When to Use Concurrency | Amish |
Concurrency Practices and Patterns | Casey |
Concurrency Practices and Patterns | Casey - May 13 |
When to Use Mutexes Instead of Channels | Amish - May 19 |
Chapter 9 April 22, 2022 | Presenter |
---|---|
Repositories, Modules, and Packages | Casey |
Building Packages | Rod |
Building Packages | Amish |
Working with Modules | Casey - April 29 |
Working with Modules | Rod - April 29 |
Publishing Your Module | Amish - April 29 |
Chapter 8 April 8, 2022 | Presenter |
---|---|
How to Handle Errors: The Basics | Amish |
Is and As | Casey |
Playground examples based on discussion from March 4
https://play.golang.com/p/mSKYgO2TqZz Illustration of calls to pointer receiver method with variables of value type (note the pointers to pointers) See discord for more discussion.
Chapter 7 March 4, 2022 | Presenter |
---|---|
Types in Go | Raja - March 4, 2022 |
Blog post by Connor | Connor - March 11, 2022 |
Playground example by Casey | Casey - March 11, 2022 |
Methods - part 2 | Birender - March 18, 2022 |
Use Embedding for Composition | Amish - March 18, 2022 |
Embedding and Interfaces | Rod - March 18, 2022 |
Type Assertions and Type Switches | Casey - March 25, 2022 |
Implicit Interfaces Make Dependency Injection Easier | Connor - April 8, 2022 |
Chapter 6 February 25, 2022 | Presenter |
---|---|
A Quick Pointer Primer | Amish |
Don’t Fear the Pointers | Casey |
Pointers Are a Last Resort | Amish |
The Difference Between Maps and Slices | Raja |
Slices as Buffers | Raja |
Reducing the Garbage Collector’s Workload | Rush Extra Reading(In this case watching!): |
Chapter 5 February 18, 2022 | Presenter |
---|---|
Declaring and Calling Functions - part 1 | Casey |
Declaring and Calling Functions - part 2 | Amish |
Functions are Values | Casey |
Closures | Raja |
defer | Connor |
Go is Call By Value | Rod |
Chapter 4 | Presenter |
---|---|
Blocks | Birender |
if | Birender |
for, Four Ways - part 1 | Birender |
for, Four Ways - part 2 | Amish |
switch | Rod |
Blank Switches | Connor |
goto--Yes, goto | Casey |
Chapter 3 January 28, 2022 | Presenter |
---|---|
Arrays--Too Rigid to Use Directly | Jens |
Slices | Rod/Connor |
Strings and Runes and Bytes | Amish |
Maps | Casey |
Structs | Connor |
Chapter 2 January 21, 2022 | Presenter |
---|---|
Built-in Types | Casey |
var Versus := | Casey |
Using const | Amish |
Unused Variables | Amish |
Chapter 1 January 21, 2022 | Presenter |
---|---|
Installing the Go Tools | Casey |
Linting and Vetting | Jens |