BeyondCodeBootcamp / BeyondCodeBootcamp/beyondcodebootcamp

Resources for learning Go (golang)

Abierto
#19 0 comentarios 1 reacción 0 asignados Ver en GitHub
Lenguaje dominante
JavaScript
Estrellas
63
Forks
3
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

> We did what we always do when there’s a problem without a clear solution: we waited.
> Waiting gives us more time to add experience and understanding of the problem and also more time to find a good solution. - Russ Cox

Learn the philosophy, earn the language.

1. [How to Think in Go ("Go Programming")](https://www.youtube.com/watch?v=jgVhBThJdXc) (the original 2010 talk)
2. [Effective Go](https://go.dev/doc/effective_go) (short, 55 page book)
3. [Go by Example](https://gobyexample.com/) (for all your copy pasta needs)
4. [Introduction to Go Generics](https://ganhua.wang/introduction-to-go-generics#heading-type-parameters)

Go Proverbs: [Talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) | [Printable Poster](https://github.com/BeyondCodeBootcamp/go-proverbs/) | [Website](https://go-proverbs.github.io)

# Install Go

- https://webinstall.dev/golang

Uses the official Go tar package from golang.org, but also sets GOBIN, and doesn't change any system directories or permissions. TL;DR: Better than `brew` or the hacky `pkg`.

# Cheat Sheets & Books

- Go by Example: https://gobyexample.com/
- YourBasic Go: https://yourbasic.org/golang/
- Tour of Go: https://tour.golang.org/
- Learn Go with Tests: https://github.com/quii/learn-go-with-tests
- Effective Go: https://go.dev/doc/effective_go

# Selected Articles & Talks

How to Think in Go ("Go Programming"): https://www.youtube.com/watch?v=jgVhBThJdXc \
(the original 2010 talk)

- The Go Book ("Effective Go"): https://golang.org/doc/effective_go
- `go mod` ("Go with Versions"): https://youtu.be/F8nrpe0XWRg
> "Engineering is Programming across Time and Teams"
- Go Proverbs: [Talk](https://www.youtube.com/watch?v=PAAkCSZUG1c) | [Printable Poster](https://github.com/BeyondCodeBootcamp/go-proverbs/) | [Website](https://go-proverbs.github.io)
- Things in Go I never Use: https://www.youtube.com/watch?v=5DVV36uqQ4E
- Practical Go Programming: https://www.youtube.com/watch?v=2-pPAvqyluI
- How I write Web Services after 8 years of Go: https://www.youtube.com/watch?v=rWBSMsLG8po
- Go Workshop with Dave Cheney: https://www.youtube.com/watch?v=gi7t6Pl9rxE
- More than you ever wanted to know about errors: https://www.youtube.com/watch?v=H1gwKI2V7YA

# Selected Articles:

- Toward Go 2 (great talk on engineering in general): https://blog.golang.org/toward-go2

# Google I/O

- Google I/O 2014 talks: https://go.dev/blog/io2014
- Google I/O 2013 talks: https://go.dev/blog/io2013-chat
- Google I/O 2012 talks: https://go.dev/blog/io2012-videos
- Google I/O 2011 talks: https://go.dev/blog/io2011
- Google I/O 2010 talks: https://go.dev/blog/io2010

# More on Software Engineering

- [CreedsOfCraftsmanship.com](https://CreedsOfCraftsmanship.com)

# Rob Pike Talks

| Title | Venue | Link |
| --- | --- | --- |
| Go Programming (2011) | Google I/O | https://www.youtube.com/watch?v=jgVhBThJdXc |
| Concurrency is not Parallelism (2015) | Heroku | https://www.youtube.com/watch?v=oV9rvDllKEg |
| Simplicity is Complicated (2015) | dotGo | https://www.youtube.com/watch?v=rFejpH_tAHM |

> And if you're going to write a [JavaScript] program, you wouldn't start with a C++ [or Rust] program and translate it line-by-line and expect to end up with a very well-written [JavaScript] program.
>
> And concepts and the idiom in those languages are different enough that you just end up with a badly-written, non-idiomatic [JavaScript] program.
>
> And the same is true of Go and other languages. If you start with the concepts and idioms from C++ or [Rust] or Python and you try to translate those line-by-line into [JavaScript], you'll just be frustrated with the experience. - Russ Cox, Go Programming, Google I/O

# Really Good Extras

- Fyne (Cross-Device Toolkit): https://fyne.io
- GoReleaser (Cross-Platform Release Publisher): https://webinstall.dev/goreleaser
- vim-essentials: https://webinstall.dev/vim-essentials
- vim-go: https://webinstall.dev/vim-go
- Versioning your tools.go: https://stackoverflow.com/a/60383471/151312

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.