= Go = The '''Go programming language''', also known as '''Golang''', is a static typed and compiled language. The complete toolchain is distributed as '''`go(1)`'''. <> ---- == Example == A hello world program looks like: {{{ package main import "fmt" func main() { fmt.Println("hello world") } }}} To compile and run the program, try: {{{ go build hello.go ./hello # or go run hello.go }}} ---- == Installation and Setup == Most [[Linux]] and [[BSD]] distributions offer a `go` package. ---- == Language == * [[Go/DataTypes|Data Types]] * [[Go/ArraysAndSlices|Arrays and Slices]] * [[Go/Channels|Channels]] * [[Go/Goroutines|Goroutines]] * [[Go/Interfaces|Interfaces]] * [[Go/Maps|Maps]] * [[Go/Pointers|Pointers]] * [[Go/ReceiverMethods|Receiver methods]] * [[Go/Strings|Strings]] == Tool chain == * [[Go/Compiler|Compiler]] * [[Go/DeployingInContainers|Deploying in Containers]] * [[Go/Modules|Modules]] == Standard Library Packages == * [[Go/BufIO|bufio]] * [[Go/Bytes|bytes]] * [[Go/EncodingBase64|encoding/base64]] * [[Go/EncodingCsv|encoding/csv]] * [[Go/EncodingJson|encoding/json]] * [[Go/EncodingXml|encoding/xml]] * [[Go/Errors|errors]] * [[Go/Flag|flag]] * [[Go/Fmt|fmt]] * [[Go/IO|io]] * [[Go/IOFS|io/fs]] * [[Go/IOIOUtil|io/ioutil]] * [[Go/Math|math]] * [[Go/MathRand|math/rand]] * [[Go/Mime|mime/quotedprintable]] * [[Go/NetHttp|net/http]] * [[Go/NetSmtp|net/smtp]] * [[Go/NetUrl|net/url]] * [[Go/OS|os]] * [[Go/Path|path]] * [[Go/RegExp|regexp]] * [[Go/Sort|sort]] * [[Go/StrConv|strconv]] * [[Go/Strings|strings]] == Third-Party Packages == * [[Go/GorillaWebSocket|gorilla/websocket]] ---- == See also == [[https://go.dev/tour|A Tour of Go]], an interactive tutorial [[https://go.dev/ref/spec|The Go Programming Language Specification]] [[https://pkg.go.dev/std|Standard library reference]] ---- CategoryRicottone