1-hello-world | ||
2-importpackage | ||
3-importremote | ||
4-testing | ||
5-go-by-example | ||
.gitignore | ||
LICENSE | ||
README.md |
GO Playground
This repo ist to learn and play with GO.
All Code is written and tested on a Ubuntu 20.4 Linux.
Learn more about GO
Install from Release
# Download release, change the number to latest release
curl -OL https://golang.org/dl/go1.17.5.linux-amd64.tar.gz
# verify integrity of download, compare with website's shown hash
sha256sum go1.16.7.linux-amd64.tar.gz
# extract tarball
sudo tar -C /usr/local -xvf go1.17.5.linux-amd64.tar.gz
# set up paths
sudo nano ~/.profile
> export PATH=$PATH:/usr/local/go/bin
source ~/.profile
# confirm installation
which go
go version
Install from Source
# install requirements
sudo apt install git gcc
# get source repository
git clone https://go.googlesource.com/go goroot
cd goroot
# <tag> is the version string of the release
git checkout <tag>
cd src
# install
./all.bash
# test installation
which go
go version
The compilation environment can be customized by environment variables (but not required). Heres a short list
$GOROOT
: root of the GO tree, often$HOME/go1.X
$GOPATH
: directory where Go projects outside the Go distribution are typically checked out. Executables outside the Go distribution are installed in $GOPATH/bin (or $GOBIN, if set)$GOBIN
: directory where executables outside the Go distribution are installed using the go command
To change any variable, edit your ~/.profile
file. Scroll all the way down to the end of the file and add the following with your specifications (sample here shows default values)
GOROOT=$HOME/go1.X
GOPATH=$HOME/go
GOBIN=$GOPATH/bin
Feel free to change it to your needs. Finally make the system aware of the new profile and run source ~/.profile
Update your GO Version
GO releases can be fetched with the installed repository above. To never forget any release you can join the golang-announce mailing list.
To update to the latest release, simply run
cd go/src
git fetch
# change <tag> to latest release tag e.g. go1.9
git checkout <tag>
./all.bash
First programm
package main
import "fmt"
func main() {
fmt.Printf("hello, world\n")
}
Build and run this program:
go run hello.go
Code to binary
The go run
command is used as a shortcut for compiling and running a program that requires frequent changes.
When you’ve finished your code and want to run it without compiling each time, use go build
to turn your code into an executable binary. Building code into an executable binary consolidates the application into a single file with all the (support) code necessary to execute the binary.
Once built, run go install
to place the program on an executable file path to run it from anywhere on the system.
To build and install executables you need an go.mod
file with your executable definitions. Follow the helloworld program to see how.
# make sure to run from same directory as .go file
go build
# execute binary
./hello
# install to system
go install
# execute global binary
hello
Install additional tools
Several Go tools are kept in the golang.org/x/tools
repository. To install one of the tools, e.g. gopls
:
go install golang.org/x/tools/gopls@latest