Go-Übungen
Fibonacci Sequence in Go
Build the Fibonacci numbers with a loop, a double assignment and a slice.
Das lernst du
- A loop with two variables
- a, b = b, a+b
- Why uint64
The first numbers
00
11
12
23
34
55
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
- Start from 0 and 1.
- One assignment moves both values.
- uint64 holds much larger numbers than int32.
Ausführbares Go-Beispiel
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])
}
[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.
Dein Fortschritt ist in diesem Browser gespeichert Melde dich an, um ihn auf jedem Gerät zu behalten.
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.
- Fibonacci-Zahl Gib die n-te Fibonacci-Zahl zurück. Einfach
- Summe gerader Fibonacci-Terme Addiere die geraden Fibonacci-Terme, die einen Grenzwert nicht überschreiten. Einfach