Go - Entscheidungsfindung

Einführung in die Entscheidungsfindung in Go

Hallo da draußen, zukünftiger Go-Programmierer! Heute tauchen wir in einen der wichtigsten Aspekte der Programmierung ein: die Entscheidungsfindung. Genau wie im echten Leben müssen unsere Programme Entscheidungen basierend auf bestimmten Bedingungen treffen. In Go haben wir mehrere Werkzeuge zur Verfügung, um diese Entscheidungen zu implementieren. Lassen Sie uns gemeinsam auf diese aufregende Reise gehen!

Go - Decision Making

If-Anweisung: Das Grundelement

Syntax und Struktur

Die if-Anweisung ist das Fundament der Entscheidungsfindung in Go. Sie ermöglicht es uns, einen Block von Code nur auszuführen, wenn eine bestimmte Bedingung wahr ist. Hier ist die grundlegende Struktur:

if bedingung {
// Code, der ausgeführt wird, wenn die Bedingung wahr ist
}

Schauen wir uns ein einfaches Beispiel an:

package main

import "fmt"

func main() {
alter := 18

if alter >= 18 {
fmt.Println("Du bist wahlberechtigt!")
}
}

In diesem Beispiel überprüfen wir, ob das alter 18 oder älter ist. Wenn ja, geben wir eine Nachricht aus. Führe diesen Code aus, und du wirst die Nachricht sehen, weil 18 tatsächlich größer oder gleich 18 ist!

Hinzufügen einer Else-Klausel

Was ist, wenn wir etwas tun möchten, wenn die Bedingung falsch ist? Dann kommt die else-Klausel ins Spiel:

package main

import "fmt"

func main() {
alter := 16

if alter >= 18 {
fmt.Println("Du bist wahlberechtigt!")
} else {
fmt.Println("Entschuldigung, du bist zu jung zum Wählen.")
}
}

Nun ist alter 16, was weniger als 18 ist, daher wird die Nachricht im else-Block ausgegeben.

If-Else If-Else-Kette

Manchmal müssen wir mehrere Bedingungen überprüfen. Wir können if-else-Anweisungen wie folgt verkettet:

package main

import "fmt"

func main() {
punkte := 75

if punkte >= 90 {
fmt.Println("Note A")
} else if punkte >= 80 {
fmt.Println("Note B")
} else if punkte >= 70 {
fmt.Println("Note C")
} else {
fmt.Println("Verbesserung erforderlich")
}
}

Dieses Programm überprüft die punkte und gibt die entsprechende Note aus. Bei 75 Punkten wird es "Note C" ausgeben.

Switch-Anweisung: Der Mehrwege-Entscheidungsgeber

Wenn du mehrere Bedingungen überprüfen musst, insbesondere wenn sie alle dasselbe Variable überprüfen, kann die switch-Anweisung deinen Code sauberer und effizienter machen.

Grundlegende Switch-Syntax

package main

import "fmt"

func main() {
tag := "Montag"

switch tag {
case "Montag":
fmt.Println("Es ist der Anfang der Arbeitswoche!")
case "Freitag":
fmt.Println("TGIF!")
default:
fmt.Println("Es ist ein regulärer Tag.")
}
}

In diesem Beispiel überprüfen wir den Wert von tag und führen die entsprechende Case aus. Der default-Fall wird ausgeführt, wenn keiner der anderen Fälle übereinstimmt.

Switch mit mehreren Fällen

Du kannst auch mehrere Fälle zusammenfassen:

package main

import "fmt"

func main() {
tag := "Samstag"

switch tag {
case "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag":
fmt.Println("Es ist ein Wochentag.")
case "Samstag", "Sonntag":
fmt.Println("Es ist das Wochenende!")
default:
fmt.Println("Ungültiger Tag.")
}
}

Dieser Code wird "Es ist das Wochenende!" ausgeben, weil Samstag einer der Wochentage ist.

Switch ohne Ausdruck

Go ermöglicht es dir, switch ohne einen Ausdruck zu verwenden, was als Alternative zu langen if-else-Ketten dienen kann:

package main

import "fmt"

func main() {
punkte := 85

switch {
case punkte >= 90:
fmt.Println("Note A")
case punkte >= 80:
fmt.Println("Note B")
case punkte >= 70:
fmt.Println("Note C")
default:
fmt.Println("Verbesserung erforderlich")
}
}

Dies wird "Note B" ausgeben, weil 85 größer oder gleich 80 ist.

Bedingte Operatoren

Um unsere Bedingungen leistungsfähiger zu machen, verwenden wir bedingte Operatoren. Hier ist eine Tabelle der häufigsten:

Operator Beschreibung Beispiel
== Gleich a == b
!= Ungleich a != b
< Kleiner als a < b
> Größer als a > b
<= Kleiner oder gleich a <= b
>= Größer oder gleich a >= b
&& Logisches AND a && b
|| Logisches OR a || b
! Logisches NICHT !a

Schauen wir uns diese in Aktion an:

package main

import "fmt"

func main() {
alter := 25
hatFuehrerschein := true

if alter >= 18 && hatFuehrerschein {
fmt.Println("Du darfst ein Auto fahren!")
} else if alter >= 18 && !hatFuehrerschein {
fmt.Println("Du bist alt genug, aber du brauchst einen Fuehrerschein.")
} else {
fmt.Println("Du bist zu jung zum Fahren.")
}
}

Dieses Programm überprüft sowohl das alter als auch, ob die Person einen hatFuehrerschein, um zu bestimmen, ob sie fahren darf.

Schlussfolgerung

Entscheidungsfindung ist ein grundlegender Begriff in der Programmierung, und Go stellt uns mächtige Werkzeuge zur Verfügung, um sie zu implementieren. Denke daran, Übung macht den Meister! Versuche, deine eigenen Programme mit if, switch und verschiedenen bedingten Operatoren zu erstellen.

Während du deine Reise in Go fortsetzt, wirst du diese Konstrukte häufig verwenden. Sie sind die Bausteine der Logik in deinen Programmen, die tuoem Code helfen, kluge Entscheidungen basierend auf verschiedenen Bedingungen zu treffen.

Weiter codieren, weiter lernen und vor allem: Viel Spaß mit Go!

Credits: Image by storyset