💾 Archived View for xdefrag.dev › learn-go.gmi captured on 2020-11-07 at 01:49:41. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Learn Go

An opinionated list of resources for learning Go.

TODO:

Would really appreciate some help.

Must read

How to Write Go Code

A Tour of Go

Effective Go

Go by Example

Go Advice

The Uber Go Style Guide

Code Review Comments

Go blog

Go blog

Using Go Modules

Working with Errors in Go 1.13

Testable Examples in Go

Package names

Dave Cheney's blog

Dave Cheney's blog

Use internal packages to reduce your public API surface

Eliminate error handling by eliminating errors

Don’t just check errors, handle them gracefully

Let’s talk about logging

Practical Go

Rob Pike's Command Center

Rob Pike's blog

Self-referential functions and the design of options

Error handling in Upspin

Patterns

Go Patterns

Decorator

Observer

Semaphore

Parallelism

Timing

Functional Options

Must watch

Rob Pike - Simplicity is Complicated

Rob Pike - Concurrency Is Not Parallelism

Rob Pike - Go Proverbs

Brian Ketelsen - Go best practices

Peter Bourgon - Best Practices for Industrial Programming

Mat Ryer - Things in Go I Never Use

Steve Francia - 7 common mistakes in Go and when to avoid them

Mat Ryer - Building APIs

Filippo Valsorda - Asynchronous Networking Patterns

Chew Choon Keat - TDD for those who don't need it

Pawel Slomka - Documenting Go Code with Beautiful Tests

Mat Ryer - The Art of Testing

Dave Cheney - Absolute Unit Test

Mitchell Hashimoto - Advanced Testing with Go

Must use

Linting

GolangCI Lint

OR

vet

goimports

Testing

GoMock

GoTests

Asserting

Testify (assert package only)

OR

IS

Debugging

Delve

OR

GDB

REPL

Gore