Skip to main content

Go

Introduction to Go

Go, also known as Golang, is a statically typed, compiled programming language designed for simplicity, efficiency, and scalability. It was developed by Google to address challenges in modern software development, such as concurrency, performance, and maintainability. Go is widely used for building web servers, distributed systems, and cloud-native applications.

Go features a clean syntax, built-in support for concurrency through goroutines, and a powerful standard library. Its simplicity and performance make it a popular choice for developers working on high-performance and scalable applications. For more details, visit the official Go documentation.

Using Go with Modules

To use Go on the terrabyte HPC system, load the Go module with the following command:

# consider adding the module use line to your ~/.bashrc to always make terrabyte modules available 
module use /dss/dsstbyfs01/pn56su/pn56su-dss-0020/usr/share/modules/files/
module load go

Usage Examples

Once loaded, you can start using Go to build and run applications. Below are some examples of common Go operations:

Example 1: Check the Go Version

To verify the installed version of Go:

go version

Example 2: Create and Run a Simple Go Program

  1. Create a file named hello.go with the following content:

    package main

    import "fmt"

    func main() {
    fmt.Println("Hello, World!")
    }
  2. Run the program:

    go run hello.go

Example 3: Build a Go Binary

To compile a Go program into a binary:

go build hello.go

This will create an executable named hello in the current directory.

Example 4: Manage Go Modules

To initialize a new Go module in your project:

go mod init mymodule

For additional usage instructions and configuration details, refer to the Go documentation.