Go is an open-source programming language. It is statically-typed, with a syntax loosely derived from C, adding automatic memory management, type safety, some dynamic typing capabilities, additional built-in types such as variable-length arrays (called slices) and key-value maps, and a large standard library.
Go (sometimes "Golang" for search-ability) is a general-purpose programming language. While originally created by Google, Go is an open source project with a large contributor base. It aims to be efficient both for development and execution with a focus on fast compilation and increased maintainability of large projects. Go was originally targeted at systems programming tasks such as building server/web applications, high throughput middleware, and databases, but it has a growing ecosystem of libraries allowing it to be used for a wide variety of tasks such as developing end-user daemons, CLIs, and desktop/mobile applications.
The first class concurrency mechanisms of Go make it easier to write programs that get the most out of multicore and networked machines, while its structural type system enables flexible and modular program construction. Go compiles quickly to memory safe machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that develops like a dynamically typed, interpreted language, but performs like native code.
Go Reference Documentation
Go Tutorials
- A Tour of Go
- Golang Tutorials
- Effective Go
- Go Playground
- An Introduction to programming in Go
- Network programming with Go
- Go by Example
- Learn X in Y minutes - Go
- Go Style Guide
- GopherVids
- A Quick Guide to Go's Assembler
- Going Go Programming
- Go Talks (online slides)
- 50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs
- Golang Tutorial Series
- Golang Data Structure and Algorithms
Go Books (Paid)
- The Go Programming Language
- Programming in Go: Creating Applications for the 21st Century
- Go in Action
- The Go Programming Language Phrasebook
- The Way To Go: A Thorough Introduction To The Go Programming Language
- Go Programming
- Mastering Concurrency in Go
- Go Programming Blueprints
- Web Development with Go Building Scalable Web Apps and RESTful Services
- Mastering Go Web Services
- Level Up Your Web Apps With Go
- Introducing Go Build Reliable, Scalable Programs
- Go Design Patterns
- Go Systems Programming
- Go Web Scraping Quick Start Guide
Go Books (Free)
- An Introduction to Programming in Go (online)
- Go by Example (online)
- build web application with Golang (online)
- Learning Go HTML version / Source
Popular Go Projects
- List of projects / Libraries / Tools / Examples
- GoDoc - Documentation of many public Go Libs
- awesome-go - A curated list of awesome Go frameworks, libraries and software
Go Mailing Lists
Go IRC Channel
#go-nuts
on http://freenode.net- Go chatroom on chat.stackoverflow.com
Online Go Compilers
- Go Playground (Official)
- Ideone
- Compile-Online
Go FAQ
Go Code Editors & IDEs
Go Dependency Management
- Go modules (part of go tool chain since Go 1.11)
- Dep (deprecated)
- Glide (deprecated)