Everybody has their own list, I get it!, I guess this is just mine or it was initially (I do accept PR's).
- The Go Play Space
- Better Go Playground
- The Go Playground
- The Gotip Playground
- Playground v3 implementation
- Go Developer Survey 2020 Results
- Go Forum
- Gophers Slack
- Gophers Discord
- Go Language Collective - Stack Overflow
- Go Developers Network (GDN)
- Go Conferences and Major Events
- Gophercon
- golang-nuts mailing list
- The Go Blog
- Go Community Code of Conduct
- Frequently Asked Questions (FAQ)
- Go Walkthrough
- Dave Cheney
- Gopher Academy
- Skills Matter
- Failing Forward
- JustForFunc
- Gopher Academy
- The Go Programming Language
- GopherData
- Learn To Code
- Go Ahead
- Sourcegraph
- Golangbot
- GopherVids
- Learn Go Programming
- Applied Go
- golangspec
- Phil Pearl
- Alex Edwards
- Bitfield Consulting
- GopherCon
- dotConferences
- Golang UK Conference
- GopherCon India
- GothamGo
- GopherCon Russia
- GopherCon Singapore
- GopherCon Brasil
- Network Automation with Go: A book about automating network operations and building applications using the Go programming language
- Awesome Go Books
- An Introduction to Programming in Go
- The Little Go Book
- Go Bootcamp
- Essential Go
- Go Internals: A work-in-progress book about the internals of the Go (1.10+) programming language.
- Go 101: An online-book focusing on Go syntax/semantics and all kinds of runtime related things (Go 1.17 ready) by Tapir Liu.
- The Go Programming Language
- Go in Action
- The Ultimate Go Notebook
- Go in Practice
- Awesome Go Linters
- Go Recipes: Handy well-known and lesser-known tools for Go projects.
- Visual Studio Code
- Go with Visual Studio Code
- Golang Guide: A List of Top Golang Frameworks, IDEs & Tools
- Font: FiraCode
- GoLand
- Getting Started: Learning Resources from Go's Get Started web page.
- Play with Go: Hands-on, interactive guides for programming in Go.
- Go on Exercism: Access to 128 exercises grouped into 26 Go Concepts, with automatic analysis of your code and personal mentoring, all 100% free.
- Introduction to Go: Youtube playlist by Failing Forward.
- Go Language Basics, PDF: Go class taught at Google and Microsoft around the globe by John Doak.
- Go by Example: Hands-on introduction to Go using annotated example programs by Mark McGranaghan and Eli Bendersky.
- A Tour of Go: A tour of the Go programming language by the Go team.
- Learn Go with tests: Explore the Go language by writing tests by Chris James.
- Go language course: Red Hat's Go language course in Go present format.
- learn-golang.org: Interactive Go tutorial.
- cosmiclearn.com: Space themed Go tutorial.
- golangbot.com: Go tutorial series.
- An Introduction to Go: by Francesc Campoy Flores (2019).
- Go 101: An online-book focusing on Go syntax/semantics and all kinds of runtime related things (Go 1.17 ready) by Tapir Liu.
- Go Tooling in Action: by Francesc Campoy Flores (2016).
- Go cheatsheet
- Go vs. Python: Syntax side-by-side.
- High Performence Go Workshop: by Dave Cheney.
- Practical Go Workshop: by Dave Cheney (2019).
- Gophercises: Free course to build roughly 20 different mini-applications, packages, and tools that are each designed to teach you something different by Jon Calhoun.
- Go Training Class Material: by ArdanLabs.
- Ultimate Go Programming - Video
- Algorithms to Go
- 50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs
- Go Proverbs
- Go-datastructures: Go-datastructures is a collection of useful, performant, and threadsafe Go datastructures.
- Building Go from Source
- awesome-golang-leetcode
- Resources for new Go programmers: by Dave Cheney.
- A Gopher's Reading List: Reading list of blog posts about Go, by Eno Compton.
- Go Training Important Reading: To complement Ardan Labs' material, by William Kennedy.
- Awesome Go Education: A curated list of awesome articles and resources for learning and practicing Go and its related technologies.
- Go Wiki: A collection of information about the Go Programming Language, by the Go team.
- Awesome Go: A curated list of awesome Go frameworks, libraries and software
- Go talks: Talks by the Go team, last updated 2019.
- Go Articles: Official articles index, by the Go team.
- Go at Google: Language Design in the Service of Software Engineering
- The Why of Go
- Five things that make Go fast
- The beauty of Go
- Why Go is my favorite programming language
- A Million WebSockets and Go
- Golang and why it matters
- Why Golang is great for network services
- The Robustness of Go, recording
- From X To Go
- One Program Written in Python, Go, and Rust
- A comparison of three programming languages for a full-fledged next-generation sequencing tool
- How to Write Go Code: This document demonstrates the development of a simple Go package inside a module and introduces the go tool, the standard way to fetch, build, and install Go modules, packages, and commands.
- Go Style guide: The Go Style Guide and accompanying documents codify the current best approaches for writing readable and idiomatic Go.
- Go Patterns
- Idiomatic Go
- How to avoid Go gotchas
- Effective Go
- 100 Go Mistakes and How to Avoid Them: Summary of all the mistakes in the 100 Go Mistakes book.
- Ten commandments of Go
- SOLID Go Design
- Workshop: Practical Go - GoSG Meetup
- Go-Design-Patterns
- Writing high-performance Go code
- Comparison operators in Go
- Go best practices, six years in
- How to ship production-grade Go
- Idiomatic Go
- Nice benefits of named return values
- Go Examples of Common Patterns
- GoDS (Go Data Structures)
- go-algorithms
- Go app template build environment
- Collection of style guides for Go
- Clean Go Code
- Go Code Search
- Style guideline for Go packages
- Naming
- Package names
- Organizing Go code
- Everything you need to know about Packages in Go
- Writing Go Applications with Reusable Logic
- Structuring Applications in Go
- Standard Package Layout
- Aspects of a good Go library
- Practical Advice for Go Library Authors
- Gophers, please tag your releases
- Writing Beautiful Packages in Go
- Understanding Channels, Video
- Curious Channels
- Communicating Sequential Processes
- Communicating Sequential Goroutines
- Go Concurrency Patterns
- Concurrency Is Not Parallelism
- Simulating a real-world system in Go
- "go test -race" Under the Hood
- Understanding Channels
- Concurrency Patterns In Go
- Go Concurrency Patterns: Pipelines and cancellation
- Concurrent API Patterns in Go
- The Context Package
- Implementing the context package
- Some context on context
- How to correctly use context.Context in Go 1.7
- Context - Go Training
- Context propagation over HTTP in Go
- Using contexts to avoid leaking goroutines
- Context use and misuse
- Context and Cancellation of goroutines
- Context Package Semantics In Go
- Go Defer Simplified with Practical Visuals
- 5 Gotchas of Defer in Go — Part I
- 5 More Gotchas of Defer in Go — Part II
- 5 More Gotchas of Defer in Go — Part III
- Docker official Go repository
- Docker Alpine
- "Distroless" Docker Images
- Dockerize Go Applications
- Creating optimised Docker Images using Multi-Stage Builds
- Lean Go Containers with Multi-Stage Dockerfiles
- Multi-Stage Docker Builds for Creating Tiny Go Images
- Use multi-stage builds
- Golang: Don’t afraid of makefiles
- Stack traces and the errors package
- Don’t just check errors, handle them gracefully, Video
- Go Lift
- Programming with errors
- Building High Performance APIs In Go Using gRPC And Protocol Buffers
- gRPC: Google's high-performance, open-source RPC framework
- grpc: From Tutorial to Production
- gRPC Go: Beyond the basics
- Practical guide to securing gRPC connections with Go and TLS - Part 1
- Practical guide to securing gRPC connections with Go and TLS - Part2
- Introduction to Go, part 13: Interfaces
- Important interfaces that every Go developer should know
- Streaming IO in Go
- Intro++ to Go Interfaces
- Hacking Go Interfaces
- understanding the interface
- Methods, Interfaces and Embedded Types in Go
- Exploring Readers and Writers
- How To Use Go Interfaces
- The Principles of Versioning in Go
- Using Go Modules
- Migrating to Go Modules
- Publishing Go Modules
- Go Modules in 2019
- Go 1.11 Modules
- Modules Part 01: Why And What
- Modules Part 02: Projects, Dependencies and Gopls
- Package Management With Go Modules: The Pragmatic Guide
- Taking Go modules for a spin
- Go Modules and Major Versions
- Package present
- Inside the "present" tool
- How Do I Create A Presentation Using Go?
- Go presentation tool
- Gotchas in the Go Network Packages Defaults: Timeouts, HTTP Response Bodies, HTTP/1.x Keep-alives, net.IP is Mutable, etc.
- cidranger: Fast IP to CIDR lookup for Go.
- GeoIP2 Reader for Go: IP address geolocation.
- IPLib: Library built around and on top of the address primitives found in the net package to bring Python's ipaddress and Ruby's ipaddr capabilities to Go.
- vSSH: Library to handle tens of thousands SSH connections and execute the command(s) with higher-level API for building network device / server automation.
- netrasp: Package that communicates to network devices over SSH.
- scrapligo: Connecting to devices, specifically network devices (routers/switches/firewalls/etc.) via SSH and NETCONF.
- Commando: Tiny tool that enables users to collect command outputs from a single or a multiple networking devices defined in an inventory file.
- go-netconf: Simple NETCONF client based on RFC6241 and RFC6242.
- NETCONF client: Adapted Network Configuration Protocol (NETCONF) client from previous implementations.
- Gornir: Pluggable framework with inventory management to help operate collections of devices. It's similar to Nornir but in Go.
- Containerlab: Provides a CLI for orchestrating and managing container-based networking labs.
- cisshgo: Simple, small, fast, concurrent SSH server to emulate network equipment (i.e. Cisco IOS) for testing purposes.
- thola: A tool for monitoring and provisioning network devices written in Go.
- GoSNMP: SNMP client.
- tflow2: In memory NETFLOW version 9, IPFIX and SFlow analyzer.
- GoFlow: Cloudflare's NetFlow/IPFIX/sFlow collector in Go.
- GoFlow2: Fork of Cloudflare's GoFlow.
- Telegraf Cisco MDT plugin: Input plugin that consumes telemetry data from Cisco IOS XR, IOS XE and NX-OS platforms.
- Panoptes Streaming: Cloud native distributed streaming network telemetry.
- GoPacket: Packet decoding capabilities for Go.
- tcpterm: Visualize packets in TUI.
- cloud-bandwidth: Measure bandwidth to distributed endpoints across networks and clouds.
- Ethr: Cross platform network performance measurement tool.
- Arachne: A packet loss detection system and an underperforming path detection system.
- gRPC library for Cisco IOS XR: Minimalistic library to interact with IOS XR devices using the gRPC framework.
- gNxI: A collection of tools for Network Management that use the gNMI and gNOI protocols.
- gNMIc: gNMI CLI client that provides full support for Capabilities, Get, Set and Subscribe RPCs with collector capabilities.
- gNOIc: gNOI CLI client that provides support for gNOI Certificate Managment, File and System Services.
- gNMI Gateway: Distributed and highly available service for connecting to multiple gNMI targets.
- GoBGP: Open source BGP implementation designed from scratch for modern environment.
- bio-rd: A re-implementation of BGP, IS-IS and OSPF in Go.
- bettercap: Powerful, easily extensible and portable framework written in Go which aims to offer to security researchers, red teamers and reverse engineers an easy to use, all-in-one solution with all the features they might possibly need for performing reconnaissance and attacking WiFi networks, Bluetooth Low Energy devices, wireless HID devices and Ethernet networks.
- Furious IP/Port Scanner: Fast, lightweight, portable network scanner.
- Network Flight Simulator: Lightweight utility used to generate malicious network traffic and help security teams to evaluate security controls and network visibility. The tool performs tests to simulate DNS tunneling, DGA traffic, requests to known active C2 destinations, and other suspicious traffic patterns.
- NETwork CAPture: The Netcap framework efficiently converts a stream of network packets into platform neutral type-safe structured audit records that represent specific protocols or custom abstractions.
- Acigo: Go package for interacting with Cisco ACI using API calls.
- aci-go-client: golang client SDK to interact with CISCO APIC using REST API calls. This SDK is used by terraform-provider-aci.
- merakictl: Command line tool for interfacing with the Meraki Dashboard API.
- go-ciscoasa: A Cisco ASA API client enabling Go programs to interact with a Cisco ASA in a simple and uniform way.
- Arista Go eAPI Library: Native Go implementation for programming Arista EOS network devices using Go.
- Arista Go library.
- go-junos: A Go package that interacts with Junos devices, as well as Junos Space.
- Writing Network Drivers in Go: Bachelor’s Thesis.
- Implementing a Network Protocol in Go: A very detailed walkthrough of implementing a networking protocol (NDP in IPv6) in Go, with many, many code snippets.
- Packet Capture, Analysis, and Injection with Go: Gophercon presentation.
- Networking and Go: An Engineer's Journey: DigitalOcean's Networking team use of Go.
- gRPC and GPB for Networking Engineers: GPB and gRPC testing.