Go-Übungen

Fibonacci Sequence in Go

Build the Fibonacci numbers with a loop, a double assignment and a slice.

  • Einsteiger
  • 2 Min. Lesezeit
  • 1 ausführbares Beispiel
Das lernst du
  • A loop with two variables
  • a, b = b, a+b
  • Why uint64
The first numbers
00
11
12
23
34
55
5 = 2 + 3

Each number is the sum of the two before

Each Fibonacci number is the sum of the two before it, starting from 0 and 1. Build the first numbers of the sequence in a slice.

a and b hold two neighbouring numbers. a, b = b, a+b moves both one step forward in a single assignment. uint64 is used because Fibonacci numbers grow quickly: the 50th no longer fits in 32 bits.

Das Wichtigste

  1. Start from 0 and 1.
  2. One assignment moves both values.
  3. uint64 holds much larger numbers than int32.

Ausführbares Go-Beispiel

Go
Code ausführen →
main.go
package main

import "fmt"

func fibonacci(count int) []uint64 {
	sequence := make([]uint64, 0, count)
	a, b := uint64(0), uint64(1)
	for i := 0; i < count; i++ {
		sequence = append(sequence, a)
		a, b = b, a+b
	}
	return sequence
}

func main() {
	fmt.Println(fibonacci(10))
	fmt.Println("50th:", fibonacci(50)[49])
}
Run-Button für dieses Beispiel erstellen Ergebnis der Ausführung
[0 1 1 2 3 5 8 13 21 34]
50th: 7778742049

Üben

Öffne das Beispiel im Online-Compiler, ändere einen Wert oder füge eine Zeile hinzu und sage die Ausgabe voraus, bevor du es ausführst. Bring den Code danach absichtlich zum Scheitern und lies die Meldung des Compilers.

Lektion fertig?

Markiere sie als gelernt, um deinen Fortschritt zu verfolgen.

Weiter: Structs →

Mit einer Challenge üben

Nutze den Inhalt dieser Lektion, um ein echtes Problem zu lösen. Jede Challenge läuft im Browser, mit sofortigen Tests und einem KI-Review.

Alle Challenges