Difference between revisions of "Go"

From wikieduonline
Jump to navigation Jump to search
 
(9 intermediate revisions by 3 users not shown)
Line 6: Line 6:
 
* macOS: <code>[[brew install go]]</code>
 
* macOS: <code>[[brew install go]]</code>
 
* [[Ubuntu]]: <code>[[apt install golang-go]]</code> (aprox 500MB)
 
* [[Ubuntu]]: <code>[[apt install golang-go]]</code> (aprox 500MB)
 +
 +
 +
* [[Ubuntu VM]] on [[Apple M]]:
 +
[[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 ==
 
== Commands ==
Line 13: Line 18:
 
* <code>[[go test]]</code>, for unit testing and microbenchmarks
 
* <code>[[go test]]</code>, for unit testing and microbenchmarks
 
* <code>[[go fmt]]</code>, for formatting code
 
* <code>[[go fmt]]</code>, for formatting code
* <code>[[go get]]</code>, for retrieving and installing remote packages
+
* <code>[[go get]]</code>, for retrieving and installing remote [[packages]]
 
* <code>[[go vet]]</code>, a static analyzer looking for potential errors in code
 
* <code>[[go vet]]</code>, a static analyzer looking for potential errors in code
 
* <code>[[go run]]</code>, a shortcut for building and executing code
 
* <code>[[go run]]</code>, a shortcut for building and executing code
Line 19: Line 24:
 
* <code>[[gorename]]</code>, for renaming variables, functions, and so on in a type-safe way
 
* <code>[[gorename]]</code>, for renaming variables, functions, and so on in a type-safe way
 
* <code>[[go generate]]</code>, a standard way to invoke code generators
 
* <code>[[go generate]]</code>, a standard way to invoke code generators
* <code>[[go mod]]</code> init
+
* <code>[[go mod]] init</code>
 
* <code>[[go list]]</code>
 
* <code>[[go list]]</code>
  
Line 25: Line 30:
 
* [[Go: Hello world! example]]
 
* [[Go: Hello world! example]]
 
* [[for (Go lang)]]
 
* [[for (Go lang)]]
 +
 +
== Activities ==
 +
* Read go FAQs: https://go.dev/doc/faq#goroutines
  
 
== Projects ==
 
== Projects ==
Line 37: Line 45:
 
* https://pkg.go.dev/std
 
* https://pkg.go.dev/std
 
* <code>[[defer]]</code>
 
* <code>[[defer]]</code>
 +
* <code>[[$HOME/go/bin/]]</code>
 +
* [[Concurrency vs parallelism]]
  
 
== See also ==
 
== See also ==

Latest revision as of 12:11, 12 December 2023

wikipedia:Go (programming language) (Nov 2009)

Installation[edit]


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[edit]

  • go help
  • go build, which builds Go binaries using only information in the source files themselves, no separate makefiles
  • go install
  • go test, for unit testing and microbenchmarks
  • go fmt, for formatting code
  • go get, for retrieving and installing remote packages
  • go vet, a static analyzer looking for potential errors in code
  • go run, a shortcut for building and executing code
  • godoc, for displaying documentation or serving it via HTTP
  • gorename, for renaming variables, functions, and so on in a type-safe way
  • go generate, a standard way to invoke code generators
  • go mod init
  • go list

Examples[edit]

Activities[edit]

Projects[edit]

Related[edit]

See also[edit]

Advertising: