Go is an open-source programming language with memory safety, structural typing, type safety, type inference, built-in package management (go get), and built-in concurrency primitives. Programs compiled with Go do not have external dependencies by default.

In Go, a package is a collection of source files in the same directory. Functions, types, variables, etc, in a source file are visible to all other source files in the same package. Package members that start with an uppercase letter are exported by that package.

A module is a collection of related packages. Modules are defined in go.mod at the repository root. A repository typically contains a single module, but may contain multiple modules.

To initialize a new module, run go mod init. To build the module and copy the binary to the $GOPATH/bin, run go install.


Broader Topics Related to Go

Open-Source Programming Languages

Open-Source Programming Languages

A list of open-source programming languages I've learned (at least a little bit)

Computer Languages

Computer Languages

Computer Languages: How humans tell computers what to do

Go Knowledge Graph