Skip to content

A curated list of awesome Go resources and tips to help you become a more productive and proficient Go developer.

Notifications You must be signed in to change notification settings

awesomelistsio/awesome-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 

Repository files navigation

Awesome Go Awesome Lists

Buy Me A Coffee   Ko-Fi   PayPal   Stripe

A curated list of awesome Go resources and tips to help you become a more productive and proficient Go developer.

Table of Contents

Official Resources

  • Go Official Website: The official website of Go programming language.
  • Go Documentation: The official Go documentation, including the language specification and standard library reference.
  • Go Playground: An online Go editor and playground to experiment with Go code snippets.

Community

  • Gopher Slack: A vibrant community of Go developers where you can ask questions and discuss various topics related to Go.
  • Go Forum: An online forum dedicated to discussions on Go programming.
  • r/golang: The Go subreddit where you can find news, articles, and discussions related to Go programming.

Learning Resources

  • A Tour of Go: An interactive tutorial that provides a quick introduction to Go programming.
  • Go by Example: A collection of hands-on Go examples that cover various Go language features.
  • Learn Go with Tests: A comprehensive guide to learning Go by writing tests.
  • Go Bootcamp: An online book that covers the basics of Go programming.
  • Just for Func: A YouTube channel featuring tutorials and discussions on Go programming by Francesc Campoy.
  • Go Time: A podcast that explores topics in the Go programming language.

Libraries and Packages

  • Gin: A lightweight web framework for building fast and efficient Go web applications.
  • Echo: A high-performance, minimalist web framework for Go.
  • GORM: A powerful and feature-rich ORM library for Go.
  • Viper: A flexible configuration management library for Go.
  • Mux: A powerful HTTP router and URL matcher for building Go web applications.
  • Cobra: A library for creating powerful command-line applications in Go.
  • Testify: A popular testing toolkit for Go that provides various utilities and assertions.

Tools

  • GoLand: An IDE for Go programming language developed by JetBrains.
  • Visual Studio Code: A lightweight and versatile code editor with excellent Go support.
  • Delve: A debugger for the Go programming language.
  • GoFmt: The official Go formatter that automatically formats Go code according to the language specification.
  • Dep: A dependency management tool for Go projects.
  • Go Report Card: A web service that provides a report card for Go projects based on static analysis.
  • Present: A tool for creating and displaying interactive slide presentations in Go.

Testing

  • Go Testing: The official Go testing package for writing unit tests.
  • Ginkgo: A BDD-style testing framework for Go that focuses on readability and ease of use.
  • Mockery: A tool for generating mock implementations in Go.
  • Testify: A popular testing toolkit for Go that provides various utilities and assertions.

Concurrency

  • Goroutines: An introduction to goroutines and concurrent programming in Go.
  • Channels: A guide to using channels for communication and synchronization between goroutines.
  • Context: The official package for managing and canceling goroutine-based operations.

Web Development

  • Gin: A lightweight web framework for building fast and efficient Go web applications.
  • Echo: A high-performance, minimalist web framework for Go.
  • Fiber: An Express.js-inspired web framework for Go that focuses on speed and simplicity.
  • Buffalo: A web development eco-system for Go that includes a web framework, database migration tools, and more.
  • Chi: A lightweight, idiomatic, and composable router for building Go HTTP services.

Networking

  • Net: The official Go package for networking operations.
  • gRPC: A high-performance, open-source framework for building distributed systems with Go.
  • Fasthttp: A fast HTTP implementation for Go that outperforms the standard library's net/http package.
  • Mux: A powerful HTTP router and URL matcher for building Go web applications.

Database

  • GORM: A powerful and feature-rich ORM library for Go.
  • MongoDB: The official MongoDB driver for Go.
  • PostgreSQL: A PostgreSQL driver and toolkit for Go.
  • Redis: A Redis client library for Go.

Command Line

  • Cobra: A library for creating powerful command-line applications in Go.
  • Viper: A flexible configuration management library for Go.
  • Promptui: A library for creating interactive prompts in Go.
  • Color: A library for adding color and formatting to command-line output in Go.

Security

  • Secure: The official package that provides cryptographic functions and protocols in Go.
  • JWT: A JSON Web Token implementation in Go.
  • bcrypt: The official package for hashing and verifying passwords using the bcrypt algorithm.
  • CORS: A package for handling Cross-Origin Resource Sharing (CORS) in Go.

Miscellaneous

  • Error Handling: A blog post that discusses error handling techniques in Go.
  • Go Best Practices: A collection of Go best practices and tips by Dave Cheney.
  • Go Design Patterns: A repository that contains various design patterns implemented in Go.
  • Effective Go: The official guide to writing clear, idiomatic, and effective Go code.

Contribute

Contributions are welcome!

License

CC0

About

A curated list of awesome Go resources and tips to help you become a more productive and proficient Go developer.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published