package main import ( "fmt" "time" "math/rand" ) func speaker(name string, debate chan int) { for { microphone := <-debate // auf Mic warten (Nachricht empfangen) fmt.Printf("Turn %v: %v says '%v'\n", microphone, name, randomAnswer()) time.Sleep(400 * time.Millisecond) microphone++ debate <- microphone // Mic zurückgeben (Nachricht senden) } } func randomAnswer() string { answers := []string{"Ich habe Recht", "Nimm dieses Argument.", "Aber ich habe diese Erfahrung gemacht.", "Du ***"} return answers[rand.Intn(len(answers)-1)] } func main() { debate := make(chan int) go speaker("Jackie", debate) go speaker("Frank", debate) microphone := 1 debate <- microphone time.Sleep(2 * time.Second) <-debate }