← Writing
Go Lang
July 7, 2026 · 2 min read33
go

Go (Golang)

Go (Golang) was created at Google (2007, released 2009) by Rob Pike, Ken Thompson, and Robert Griesemer. Design goals: simplicity, fast compilation, a...

Abdulboriy Malikov

Go (Golang)

Go (Golang) was created at Google (2007, released 2009) by Rob Pike, Ken Thompson, and Robert Griesemer. Design goals: simplicity, fast compilation, and easy concurrency.

Where it shines:

  • Backend/web servers & APIs

  • CLI tools

  • Cloud infrastructure & DevOps tooling (Docker, Kubernetes, etcd, Terraform)

  • Microservices

  • Network programming

Core language features to learn, roughly in order

  1. Basics — variables, types, const, var, := short declarations, control flow (if, for — Go only has for, no while), switch

  2. Functions — multiple return values, named returns, variadic functions

  3. Packages & modulespackage main, go mod init, imports

  4. Composite types — arrays, slices (very important — used everywhere), maps, structs

  5. Pointers — Go has pointers but no pointer arithmetic

  6. Methods & interfaces — Go's approach to OOP-like behavior (no classes, no inheritance — uses composition + interfaces)

  7. Error handling — Go uses explicit error return values instead of exceptions (if err != nil)

  8. Concurrency — goroutines (go func()) and channels (chan) — this is Go's signature feature

  9. Standard libraryfmt, net/http, encoding/json, os, io are used constantly

A minimal "hello world" to set expectations

go

package main

import "fmt"

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

Every Go program starts with a package declaration, and executables need package main + a func main().

Setup

You'll want Go installed locally (from go.dev) or you can experiment on the Go Playground (play.golang.org) without installing anything.