Difference between revisions of "Go"
Jump to navigation
Jump to search
Line 2: | Line 2: | ||
* [[Concurrent]] | * [[Concurrent]] | ||
+ | * [[Memory management]]: [[Garbage collection]] | ||
== Installation == | == Installation == |
Revision as of 03:20, 17 June 2024
wikipedia:Go (programming language) (Nov 2009)
Installation
- macOS:
brew install go
- Ubuntu:
apt install golang-go
(aprox 500MB)
wget https://go.dev/dl/go1.20.3.linux-arm64.tar.gz rm -rf /usr/local/go && tar -C /usr/local -xzf go1.20.3.linux-arm64.tar.gz && export PATH=$PATH:/usr/local/go/bin && go version
Commands
go help
go build
, which builds Go binaries using only information in the source files themselves, no separate makefilesgo install
go test
, for unit testing and microbenchmarksgo fmt
, for formatting codego get
, for retrieving and installing remote packagesgo vet
, a static analyzer looking for potential errors in codego run
, a shortcut for building and executing codegodoc
, for displaying documentation or serving it via HTTPgorename
, for renaming variables, functions, and so on in a type-safe waygo generate
, a standard way to invoke code generatorsgo mod init
go list
Examples
Activities
- Read go FAQs: https://go.dev/doc/faq#goroutines
Projects
- Kubernetes (2014)
- GVisor (2018)
- Grafana (2014)
Related
- Class Inheritance: embedding and interfaces (duck typing)
- net/http
- channels
- https://pkg.go.dev/std
defer
$HOME/go/bin/
- Concurrency vs parallelism
See also
Advertising: