Skip to content

Instantly share code, notes, and snippets.

@tomcha
Created April 24, 2019 14:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tomcha/12cb68e98e49fefb4d1ef26809c4b4a3 to your computer and use it in GitHub Desktop.
Save tomcha/12cb68e98e49fefb4d1ef26809c4b4a3 to your computer and use it in GitHub Desktop.
fizz buzz + goroutine
package main
import (
"fmt"
"sync"
)
func main() {
var wg sync.WaitGroup
wg.Add(1)
go OneHundled(&wg)
TwoHundled()
wg.Wait()
}
func Fizz(i int) string {
if i%3 == 0 {
return "Fizz"
} else {
return ""
}
}
func Buzz(i int) string {
if i%5 == 0 {
return "Buzz"
} else {
return ""
}
}
func OneHundled(wg *sync.WaitGroup) {
var str string
for i := 1; i <= 100; i++ {
str = Fizz(i) + Buzz(i)
if str == "" {
fmt.Println(i)
} else {
fmt.Printf(str+" %d\n", i)
}
}
wg.Done()
}
func TwoHundled() {
var str string
for i := 101; i <= 200; i++ {
str = Fizz(i) + Buzz(i)
if str == "" {
fmt.Println(i)
} else {
fmt.Printf(str+" %d\n", i)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment