// nebenläufige Abarbeitung (parallele Programmierung) von Daten aus einem Kanal package main import "fmt" func zehnMal(kanal chan string) { // Argument empfangen sag := <-kanal // Zehn mal zurückschreiben for i := 0; i < 10; i++ { kanal <- sag } // Kanal schließen close(kanal) } func main() { // synchronen Kanal öffnen //kanal := make(chan string) kanal := make(chan string, 0) // Starten der parallelen Go-Routine „zehnMal()“ go zehnMal(kanal) // Senden eines Strings kanal <- "Hallo" // Empfangen der Strings, bis der Channel geschlossen wird for s := range kanal { fmt.Println(s) } fmt.Println("Fertig!") }