Skip to content

awesomelistsio/awesome-go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome Go Awesome Lists

GitHub Sponsors   Ko-Fi   PayPal   Stripe   X   Facebook

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. Please ensure your submission fully follows the requirements outlined in CONTRIBUTING.md, including formatting, scope alignment, and category placement.

Pull requests that do not adhere to the contribution guidelines may be closed.

License

CC0

About

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

Topics

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages