No history yet

Introduction to Go

What is Go?

Go, often called Golang, is a programming language created at Google in 2007. Its designers were looking for a better way to build software. At the time, languages like C++ were powerful but slow to compile, while languages like Python were easy to write but not always fast enough for large-scale systems.

They wanted the best of both worlds: a language that was simple to read and write, compiled quickly, and ran efficiently. The result was Go. It's designed to be straightforward, with a clean syntax and a small set of features. This makes it easier for teams of developers to work on large projects together without getting tangled in complexity.

Lesson image

Go is a statically typed language, which means the compiler checks your code for type errors before you can even run it. This catches a lot of common bugs early. It also comes with built-in tools for formatting code, managing dependencies, and running tests, which helps keep projects clean and maintainable.

Setting Up Your Environment

Before you can write any Go code, you need to install it on your machine. The process is simple.

  1. Download Go: Visit the official Go website at go.dev and download the installer for your operating system (macOS, Windows, or Linux).

  2. Run the Installer: Open the downloaded file and follow the on-screen instructions. The installer will place the Go tools in a default location, which is usually the best option.

Once installed, you can verify everything is working by opening a terminal (or Command Prompt on Windows) and running a command.

go version

If the installation was successful, you'll see a message displaying the version of Go you just installed, like go version go1.22.1 darwin/amd64.

Your First Go Program

It's a tradition in programming to start with a "Hello, World!" program. This simple task confirms that your environment is set up correctly and gives you a feel for the language's basic structure.

First, create a new directory for your project. You can name it whatever you like; let's call it hello. Navigate into this new directory in your terminal.

mkdir hello
cd hello

Next, you need to create a Go module. A module is a collection of Go packages that are released together. Run this command to create a module file:

go mod init example/hello

This creates a file named go.mod. For now, just know that this file tracks your project's dependencies. Now, create a new file named hello.go using any text editor and add the following code.

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

Let's quickly break this down:

  • package main: This line declares that the file belongs to the main package. A program starts running in the main package.
  • import "fmt": This imports the fmt package, which contains functions for formatting text, including printing to the console.
  • func main(): This defines the main function. It's the entry point of your application; the code inside these curly braces {} is what runs when you execute the program.
  • fmt.Println("Hello, World!"): This calls the Println function from the fmt package to print the text "Hello, World!" to the console.

To run your program, go back to your terminal and use the go run command.

go run .

The . tells Go to run the code in the current directory. You should see the output:

Hello, World!

Congratulations! You've just written and executed your first Go program.

Quiz Questions 1/5

What was a primary motivation for creating the Go programming language?

Quiz Questions 2/5

Go is a statically typed language. This means that type errors are caught during the compilation phase, before the program is run.