Eine Mini GO Lang Reference

2016/06/10

Da ich im Moment dabei bin mich in GO einzuarbeiten, habe ich mir eine mini Reference geschieben. Vielleicht hilft es ja auch den einen oder anderen. :-)

Variablen

var zahl float64 = 1.5
var zahl int = 1
var text string = "Hallo"

zahl  = zahl + 1
zahl += 1
zahl  = 1

Variablen kann man auch wie folgt deklarieren.

zahl := 1
fmt.Println("Hallo")        # Hallo
fmt.Println("Hallo", zahl)  # Hallo 1
fmt.Println(text, zahl)     # Hallo 1
fmt.Println(text, zahl, 2   # Hallo 1 2

Schleifen

for (zahl <= 100) {
  zahl += 1
}

Bedingungen

if (zahl == 3) {
  fmt.Println("Ich bin eine drei")
} else {
  fmt.Println("Ich bin irgend etwas anderes")
}

if (zahl == 3 || zahl == 2) {
  fmt.Println("Ich bin eine drei, oder eine zwei")
}

switch zahl {
  case 1: fmt.Println("eins")
  case 2: fmt.Println("zwei")
  case 4: fmt.Println("vier")
  default: fmt.Println("default wert")
}

Array

var matrix [5]int
fmt.Println(matrix)      # [0 0 0 0 0]

matrix[1] = 1
fmt.Println(matrix[1])   # 1
fmt.Println(len(matrix)) # 5
fmt.Println(matrix[0:2]) # [0 1]

Array unbestimmter länge, in GO Slices genannt

var matrix []int
matrix = make([]int,5)
fmt.Println(len(matrix))  # 5

Slices kann man auch wie folgt deklarieren

matrix := [5]int{1,2,3,4,5}
fmt.Println(matrix)       # [1 2 3 4 5]

Maps oder Hashes

hash := make(map[string]int)
hash["key"] = 10
fmt.Println(hash)         # map[key:10]
fmt.Println(hash["key"])  # 10

Beispiel Code

// You can edit this code!
// Click here and start typing.
package main

import "fmt"

func main() {
  var zahl int = 1
  var text string = "Hallo"
  fmt.Println(text,zahl,1)

  for (zahl <= 5) {
    if (zahl == 3) {
      fmt.Println("Ich bin drei")
    } else {
      fmt.Println(zahl)
    }

    switch zahl {
    case 1: fmt.Println("eins")
    case 2: fmt.Println("zwei")
    case 4: fmt.Println("vier")
    default: fmt.Println("default wert")
    }
    zahl += 1

    var matrix [5]int
    fmt.Println(matrix)

    matrix[1] = 1
    fmt.Println(matrix[1])
    fmt.Println(len(matrix))
    fmt.Println(matrix[0:2])

    var slice []int
    slice = make([]int,5)
    fmt.Println(len(slice))

    array := [5]int{1,2,3,4,5}
    fmt.Println(array)

    hash := make(map[string]int)
    hash["key"] = 10
    fmt.Println(hash)
    fmt.Println(hash["key"])
  }
}