#!/usr/bin/env /friends/bin/goscript package main import "fmt" func main() { for out := range FizzBuzz(30) { fmt.Println(out) } } func FizzBuzz(amount int) <-chan string { out := make(chan string, amount) go func() { for i := 1; i <= amount; i++ { res := "" if i%3 == 0 { res += "Fizz" } if i%5 == 0 { res += "Buzz" } if res == "" { res = fmt.Sprintf("%v", i) } out <- res } close(out) }() return out }