This assumes you have already installed Go.
To write programs in Go, we write files with the .go
extension in a subdirectory of $GOPATH/src
. These are the steps:
$ mkdir -p $HOME/go/src/hello
$ cd $HOME/go/src/hello
$ touch hello.go
Now, edit the file hello.go
with your favorite editor and type the following:
package main
import "fmt"
func main() {
fmt.Println("Hello, Fedora!")
}
Save your changes and, still on the same directory ($HOME/go/src/hello
), run:
$ go run hello.go
Hello, Fedora!
The command go run
builds and runs a Go program, and is useful for quick experiments.
To build the program and generate a compiled binary, use go build
:
$ go build
$ ls
hello hello.go
Without arguments, go build
builds the package in the current directory, and in case of a main package it places a binary in the same directory. Let’s try it:
$ ./hello
Hello, Fedora!
Yet another option is to use go install
:
$ go install
$ ls
hello.go
$ ls $GOPATH/bin
hello
After building the current package, go install
places the binary in $GOPATH/bin
, instead of the current directory. It also builds and caches all dependencies in $GOPATH/pkg
, making this command specially useful for bigger programs, such that go install
can be faster than go build
because of the cache.
Because programs are installed in $GOPATH/bin
, it is common to add that to the PATH
environment variable, so that you can run your Go programs without specifying their full path:
$ echo 'export PATH=$PATH:$GOPATH/bin' >> $HOME/.bashrc
$ source $HOME/.bashrc
$ hello
Hello, Fedora!