Aufgaben-Python/courses/go/02_slices_arrays_und_maps/aufgabe.go

51 lines
2 KiB
Go

package main
import (
"fmt"
"strings"
)
// 🎯 TEILZIEL 1 (TODO 1): Filtere alle geraden Zahlen aus dem Eingabe-Slice heraus
// Nutze make([]int, 0, len(zahlen)) zur Vorallokation und append() zum Hinzufügen.
// Beispiel: [1, 2, 3, 4, 5, 6] -> [2, 4, 6]
func FiltereGeradeZahlen(zahlen []int) []int {
// TODO: Initialisiere ein Ergebnis-Slice und füge gerade Zahlen hinzu
return nil
}
// 🎯 TEILZIEL 2 (TODO 2): Hänge neue Log-Einträge an ein bestehendes Slice an
// Falls 'logs' mehr als 10 Einträge hat, sollen nur die letzten 10 Einträge zurückgegeben werden (Ringbuffer-Slicing).
// Beispiel: logs mit 9 Einträgen + 3 neue = 12 Einträge -> Rückgabe der letzten 10 Einträge (Index 2 bis 12).
func ErweitereProtokolle(logs []string, neueEintraege ...string) []string {
// TODO: Hänge neueEintraege mit append an und schneide auf max 10 Einträge zu
return nil
}
// 🎯 TEILZIEL 3 (TODO 3): Zähle die Häufigkeit jedes Worts im übergebenen Text
// Verwende strings.Fields() zum Zerlegen des Textes in Wörter.
// Wandle alle Wörter vorher mit strings.ToLower() in Kleinbuchstaben um.
// Beispiel: "Go ist schnell und Go ist einfach" -> {"go": 2, "ist": 2, "schnell": 1, "und": 1, "einfach": 1}
func ZaehleWortHaeufigkeit(text string) map[string]int {
// TODO: Map anlegen und Worthäufigkeiten inkrementieren
return nil
}
// 🎯 TEILZIEL 4 (TODO 4): Sichere Benutzerabfrage & Löschen
// 1. SichereBenutzerAbfrage: Gibt das Alter des Benutzers und true zurück, wenn er in der Map existiert, sonst (0, false).
// 2. LoescheBenutzer: Löscht den Benutzer aus der Map (falls vorhanden).
func SichereBenutzerAbfrage(users map[string]int, username string) (int, bool) {
// TODO: Verwende das Comma-OK Idiom
return 0, false
}
func LoescheBenutzer(users map[string]int, username string) {
// TODO: Lösche den Eintrag mit delete()
}
func main() {
evens := FiltereGeradeZahlen([]int{1, 2, 3, 4, 5, 6, 7, 8})
fmt.Println("Gerade Zahlen:", evens)
words := ZaehleWortHaeufigkeit("Go ist super und Go macht Spass")
fmt.Println("Häufigkeiten:", words)
}