Difference between revisions of "Go"
Jump to navigation
Jump to search
Line 39: | Line 39: | ||
* [[GVisor]] (2018) | * [[GVisor]] (2018) | ||
* [[Grafana]] (2014) | * [[Grafana]] (2014) | ||
+ | |||
+ | == Errors == | ||
+ | * <code>[[panic: runtime error: invalid memory address or nil pointer dereference]]</code> | ||
== Related == | == Related == |
Revision as of 07:03, 2 July 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)
Errors
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: