Упражнения по Go

Fibonacci Sequence in Go

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

  • Начальный
  • Чтение: 2 мин
  • Примеров для запуска: 1
Что вы узнаете
  • 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.

Главное

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

Пример на Go, который можно запустить

Go
Запустить код →
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

Практика

Откройте пример в онлайн-компиляторе, измените значение или добавьте строку и попробуйте предсказать вывод до запуска. Затем намеренно сломайте код и прочитайте сообщение компилятора.

Закончили этот урок?

Отметьте его как изученный, чтобы следить за прогрессом.

Далее: Structs →

Попрактикуйтесь на задаче

Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.

Все задачи