DEV Community

Cover image for Golang Cheat Sheet
Mohd Helmi Aziz
Mohd Helmi Aziz

Posted on

Golang Cheat Sheet

1. BASICS:

package main

import "fmt"

func main() {
    fmt.Println("Hello, Go!")
}
Enter fullscreen mode Exit fullscreen mode
  • package main → entry point
  • import → bring in packages
  • func main() → starting point

2. VARIABLES & CONSTANTS:

var name string = "Mie"
age := 35 // shorthand
const Pi = 3.14
Enter fullscreen mode Exit fullscreen mode
  • var → explicit declaration
  • := → shorthand declaration (inside functions)
  • const → immutable value

3. CONTROL STRUCTURES:

if x > 10 {
    fmt.Println("Big")
} else {
    fmt.Println("Small")
}

for i := 0; i < 5; i++ {
    fmt.Println(i)
}

for _, v := range []string{"a", "b", "c"} {
    fmt.Println(v)
}

switch day {
case "Mon":
    fmt.Println("Start")
default:
    fmt.Println("Other")
}
Enter fullscreen mode Exit fullscreen mode

4. FUNCTIONS:

func add(a int, b int) int {
    return a + b
}

// Multiple returns
func swap(x, y string) (string, string) {
    return y, x
}

// Named returns
func split(sum int) (x, y int) {
    x = sum * 4 / 9
    y = sum - x
    return
}
Enter fullscreen mode Exit fullscreen mode

5. STRUCTS & METHODS:

type Person struct {
    Name string
    Age  int
}

// method with value receiver
func (p Person) Greet() {
    fmt.Println("Hello, my name is", p.Name)
}

// method with pointer receiver
func (p *Person) HaveBirthday() {
    p.Age++
}
Enter fullscreen mode Exit fullscreen mode

6. ARRAYS, SLICES & MAPS:

arr := [3]int{1, 2, 3}

slice := []int{1, 2, 3}
slice = append(slice, 4)

m := map[string]int{"a": 1, "b": 2}
fmt.Println(m["a"])

delete(m, "b")
Enter fullscreen mode Exit fullscreen mode

7. POINTERS:

x := 10
p := &x     // pointer to x
fmt.Println(*p) // dereference → 10
*p = 20
fmt.Println(x)  // 20
Enter fullscreen mode Exit fullscreen mode

8. INTERFACES:

type Speaker interface {
    Speak() string
}

type Dog struct{}

func (d Dog) Speak() string {
    return "Woof!"
}

func main() {
    var s Speaker = Dog{}
    fmt.Println(s.Speak())
}
Enter fullscreen mode Exit fullscreen mode

9. ERROR HANDLING:

import "errors"

func div(a, b int) (int, error) {
    if b == 0 {
        return 0, errors.New("division by zero")
    }
    return a / b, nil
}

func main() {
    res, err := div(10, 0)
    if err != nil {
        fmt.Println("Error:", err)
        return
    }
    fmt.Println("Result:", res)
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)