Esercizi di Go

FizzBuzz in Go

The classic interview warm-up, solved with a switch.

  • Principiante
  • 3 min di lettura
  • 1 esempio eseguibile
Cosa imparerai
  • switch without a value
  • Order of the cases
  • strings.Join
1 to 6
11
22
Fizz3
44
Buzz5
Fizz6

Check 15 first

Print the numbers from 1 to 15, but print Fizz for multiples of 3, Buzz for multiples of 5 and FizzBuzz for multiples of both.

A switch without a value runs the first case that is true, so the check for 15 must come first. strconv.Itoa turns a number into a string, and strings.Join puts the words on one line.

Punti chiave

  1. The first true case runs.
  2. n%15 must come before n%3 and n%5.
  3. strconv.Itoa turns a number into text.

Esempio Go eseguibile

Go
Esegui il codice →
main.go
package main

import (
	"fmt"
	"strconv"
	"strings"
)

func fizzbuzz(n int) string {
	switch {
	case n%15 == 0:
		return "FizzBuzz"
	case n%3 == 0:
		return "Fizz"
	case n%5 == 0:
		return "Buzz"
	default:
		return strconv.Itoa(n)
	}
}

func main() {
	words := make([]string, 0, 15)
	for n := 1; n <= 15; n++ {
		words = append(words, fizzbuzz(n))
	}
	fmt.Println(strings.Join(words, " "))
}
Crea un pulsante Run per questo esempio Risultato dell'esecuzione
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz 11 Fizz 13 14 FizzBuzz

Esercitati

Apri l'esempio nel compilatore online, cambia un valore o aggiungi una riga e prova a prevedere l'output prima di eseguirlo. Poi rompi il codice di proposito e leggi il messaggio del compilatore.

Hai finito questa lezione?

Segnala come imparata per tenere traccia dei tuoi progressi.

Prossima: Loops with for →

Esercitati con una sfida

Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.

Tutte le sfide