An open source programming language built to craft simple, reliable, and efficient software.
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!