Skip to main content

Go

Hello Word

package main

import "fmt"

func main() {
message := greetMe("world")
fmt.Println(message)
}

func greetMe(name string) string {
return "Hello, " + name + "!"
}

Variables

Strings

str := "Hello"
str := `Multiline
string`

Numbers

num := 3          // int
num := 3. // float64
num := 3 + 4i // complex128
num := byte('a') // byte (alias for uint8)

Arrays

// var numbers [5]int
numbers := [...]int{0, 0, 0, 0, 0}

Pointers

func main () {
b := *getPointer()
fmt.Println("Value is", b)
}

func getPointer () (myPointer *int) {
a := 234
return &a
}

Flow Control

Conditional

if day == "sunday" || day == "saturday" {
rest()
} else if day == "monday" && isTired() {
groan()
} else {
work()
}

Statements in if

if _, err := getResult(); err != nil {
fmt.Println("Uh oh")
}

Switch

switch day {
case "sunday":
// cases don't "fall through" by default!
fallthrough

case "saturday":
rest()

default:
work()
}

For-Range loop

entry := []string{"Jack","John","Jones"}
for i, val := range entry {
fmt.Printf("At position %d, the character %s is present\n", i, val)
}

For loop

for count := 0; count <= 10; count++ {
fmt.Println("My counter is at", count)
}