Fizzbuzz in Go

A classic programming problem, often used in software development interviews. It's simple, but shows that you understand the fundamentals of programming and the language you're writing in.

Fizzbuzz is a classic programming problem, and children’s math game, that is often used in coding interviews. While it’s deceptively simple once you know the answer, it can be quite tricky to implement properly at first. The coding magic that allows you to do so is the modulo operator % which returns the remainder of two numbers as a whole number (IE 6 % 3 = 0 or 4 % 3 = 1).

I’m currently learning Go and this was one of the problems that I had to solve. As I wrote my solution, I realized there are certainly multiple ways to achieve the end result, but my chosen approach was a for loop and conditional statements.

The Problem:

Write a function that prints 1 through 100. If the number is divisible by 3, print fizz. If the number is divisible by 5 print buzz. If the number is divisible by both 3 and 5, print fizzbuzz.

My Solution:

package main

import "fmt"

func fizzbuzz() {
	for i := 1; i < 101; i++ {
		if i % 15 == 0 {
			fmt.Println("fizzbuzz")
		} else if i % 3 == 0 {
			fmt.Println("fizz")
		} else if i % 5 == 0 {
			fmt.Println("buzz")
		} else {
			fmt.Println(i)
		}
		
	}
}

func main() {
	fizzbuzz()
}

Running the Code:

1
2
fizz
4
buzz
fizz
7
8
fizz
buzz 
11 
fizz 
13 
14 
fizzbuzz 
16 
17 
fizz 
19 
buzz 
fizz 
22 
23 
fizz 
buzz 
26 
fizz 
28 
29 
fizzbuzz 
31 
32 
fizz 
34 
buzz 
fizz 
37 
38 
fizz 
buzz 
41 
fizz 
43 
44 
fizzbuzz 
46 
47 
fizz 
49 
buzz 
fizz 
52 
53 
fizz 
buzz 
56 
fizz 
58 
59 
fizzbuzz 
61 
62 
fizz 
64 
buzz 
fizz 
67 
68 
fizz 
buzz 
71 
fizz 
73 
74 
fizzbuzz 
76 
77 
fizz 
79 
buzz 
fizz 
82 
83 
fizz 
buzz 
86 
fizz 
88 
89 
fizzbuzz 
91 
92 
fizz 
94 
buzz 
fizz 
97 
98 
fizz 
buzz