Cheatsheets
 / Awesome Go
↑ ↓ to navigate     ↵ to select     Esc to close
suggest edit
a-d
Audio and Music
Authentication and OAuth
Blockchain
Bot Building
Build Automation
Command Line
Configuration
Continuous Integration
CSS Preprocessors
Data Structures
Database
Database Drivers
Date and Time
Distributed Systems
Dynamic DNS
e-g
Email
Embeddable Scripting Languages
Error Handling
File Handling
Financial
Forms
Functional
Game Development
Generation and Generics
Geographic
Go Compilers
Goroutines
GUI
h-o
Hardware
Images
IoT (Internet of Things)
Job Scheduler
JSON
Logging
Machine Learning
Messaging
Microsoft Office
Miscellaneous
Natural Language Processing
Networking
o-t
OpenGL
ORM
Package Management
Performance
Query Language
Resource Embedding
Science and Data Analysis
Security
Serialization
Server Applications
Stream Processing
Template Engines
Testing
Text Processing
Third-party APIs
u-z
Utilities
UUID
Validation
Version Control
Video
Web Frameworks
WebAssembly
Windows
XML
Tools
Code Analysis
Editor Plugins
Go Generate Tools
Go Tools
Software Packages
Resources
Benchmarks
Conferences
E-Books
Gophers
Meetups
Style Guides
Social Media
Websites

a-d

Audio and MusicAuthentication and OAuthBlockchainBot BuildingBuild AutomationCommand LineConfigurationContinuous IntegrationCSS PreprocessorsData StructuresDatabaseDatabase DriversDate and TimeDistributed SystemsDynamic DNS

Audio and Music

Libraries for manipulating audio.

Authentication and OAuth

Libraries for implementing authentications schemes.

Blockchain

Tools for building blockchains.

Bot Building

Libraries for building and working with bots.

Build Automation

Libraries and tools helping with build automation.

Command Line

Standard CLIAdvanced Console UIs

Standard CLI

Libraries for building standard or basic Command Line applications.

Advanced Console UIs

Libraries for building Console Applications and Console User Interfaces.

Configuration

Libraries for configuration parsing.

Continuous Integration

Tools for help with continuous integration.

CSS Preprocessors

Libraries for preprocessing CSS files.

Data Structures

Generic datastructures and algorithms in Go.

Database

Databases implemented in Go.

Database schema migration.

Database tools.

SQL query builder, libraries for building and using SQL.

Database Drivers

Libraries for connecting and operating databases.

Date and Time

Libraries for working with dates and times.

Distributed Systems

Packages that help with building Distributed Systems.

Dynamic DNS

Tools for updating dynamic DNS records.

e-g

EmailEmbeddable Scripting LanguagesError HandlingFile HandlingFinancialFormsFunctionalGame DevelopmentGeneration and GenericsGeographicGo CompilersGoroutinesGUI

Email

Libraries and tools that implement email creation and sending.

Embeddable Scripting Languages

Embedding other languages inside your go code.

Error Handling

Libraries for handling errors.

File Handling

Libraries for handling files and file systems.

Financial

Packages for accounting and finance.

Forms

Libraries for working with forms.

Functional

Packages to support functional programming in Go.

Game Development

Awesome game development libraries.

Generation and Generics

Tools to enhance the language with features like generics via code generation.

Geographic

Geographic tools and servers

Go Compilers

Tools for compiling Go to other languages.

Goroutines

Tools for managing and working with Goroutines.

GUI

Libraries for building GUI Applications.

Toolkits

Interaction

h-o

HardwareImagesIoT (Internet of Things)Job SchedulerJSONLoggingMachine LearningMessagingMicrosoft OfficeMiscellaneousNatural Language ProcessingNetworking

Hardware

Libraries, tools, and tutorials for interacting with hardware.

See go-hardware for a comprehensive list.

Images

Libraries for manipulating images.

IoT (Internet of Things)

Libraries for programming devices of the IoT.

Job Scheduler

Libraries for scheduling jobs.

JSON

Libraries for working with JSON.

Logging

Libraries for generating and working with log files.

Machine Learning

Libraries for Machine Learning.

Messaging

Libraries that implement messaging systems.

Microsoft Office

Microsoft Excel

Microsoft Excel

Libraries for working with Microsoft Excel.

Miscellaneous

Dependency InjectionProject LayoutStringsUncategorized

Dependency Injection

Libraries for working with dependency injection.

Project Layout

Unofficial set of patterns for structuring projects.

Strings

Libraries for working with strings.

Uncategorized

These libraries were placed here because none of the other categories seemed to fit.

Natural Language Processing

Libraries for working with human languages.

Networking

HTTP Clients

Libraries for working with various layers of the network.

HTTP Clients

Libraries for making HTTP requests.

o-t

OpenGLORMPackage ManagementPerformanceQuery LanguageResource EmbeddingScience and Data AnalysisSecuritySerializationServer ApplicationsStream ProcessingTemplate EnginesTestingText ProcessingThird-party APIs

OpenGL

Libraries for using OpenGL in Go.

ORM

Libraries that implement Object-Relational Mapping or datamapping techniques.

Package Management

Official tooling for dependency and package management

Official experimental tooling for package management

Unofficial libraries for package and dependency management.

Performance

Query Language

Resource Embedding

Science and Data Analysis

Libraries for scientific computing and data analyzing.

Security

Libraries that are used to help make your application more secure.

Serialization

Libraries and tools for binary serialization.

Server Applications

Stream Processing

Libraries and tools for stream processing and reactive programming.

Template Engines

Libraries and tools for templating and lexing.

Testing

Libraries for testing codebases and generating test data.

Text Processing

Libraries for parsing and manipulating texts.

Third-party APIs

Libraries for accessing third party APIs.

u-z

UtilitiesUUIDValidationVersion ControlVideoWeb FrameworksWebAssemblyWindowsXML

Utilities

General utilities and tools to make your life easier.

UUID

Libraries for working with UUIDs.

Validation

Libraries for validation.

Version Control

Libraries for version control.

Video

Libraries for manipulating video.

Web Frameworks

MiddlewaresRouters

Full stack web frameworks.

Middlewares

Actual middlewaresLibraries for creating HTTP middlewares

Actual middlewares

Libraries for creating HTTP middlewares

Routers

WebAssembly

Windows

XML

Libraries and tools for manipulating XML.

Tools

Go software and plugins.

Code Analysis

Editor Plugins

Go Generate Tools

Go Tools

Software Packages

DevOps ToolsOther Software

Software written in Go.

DevOps Tools

Other Software

Resources

Where to discover new Go libraries.

Benchmarks

Conferences

E-Books

Gophers

Meetups

*Add the group of your city/country here (send PR)*

Style Guides

Social Media

TwitterReddit

Twitter

Reddit

Websites

Tutorials

Tutorials