はむはむエンジニアぶろぐ

このブログのコンセプトは"ハッキングの為なら愛する家族を傷つけることをいとわない" 自分にとってエンジニアリングは "手段ではなく生きる目的" である

Golangでフィボナッチ数列を実装してみた

f:id:secret_hamuhamu:20151122174627p:plain

最近、勉強会やAdvent Calendarでも大人気のGolangで、フィボナッチ数列を実装してみたので、サンプルコードを載せておく。
Golang楽しいですね。
新しいことを覚えるのは刺激になって良い。

環境構成

  • go version go1.5 darwin/amd64

サンプルコード

1 ~ 89までのフィボナッチ数列を出力するコード。
fibonacci というクロージャを返す関数を定義した。

package main

import "fmt"

func fibonacci() func() int {
    prev, next := 0, 1
    return func() int {
        prev, next = next, prev+next
        return next
    }
}

func main() {
    f := fibonacci()
    for i := 0; i < 10; i++ {
        fmt.Println(f())
    }
}


出力結果

1
2
3
5
8
13
21
34
55
89

おすすめの本

改訂2版 基礎からわかる Go言語

改訂2版 基礎からわかる Go言語

The Go Programming Language (Addison-Wesley Professional Computing)

The Go Programming Language (Addison-Wesley Professional Computing)

WEB+DB PRESS Vol.82

WEB+DB PRESS Vol.82

  • 作者: 山口徹,Jxck,佐々木大輔,横路隆,加来純一,山本伶,大平武志,米川健一,坂本登史文,若原祥正,和久田龍,平栗遵宜,伊藤直也,佐藤太一,高橋俊幸,海野弘成,五嶋壮晃,佐藤歩,吉村総一郎,橋本翔,舘野祐一,中島聡,渡邊恵太,はまちや2,竹原,河合宜文,WEB+DB PRESS編集部
  • 出版社/メーカー: 技術評論社
  • 発売日: 2014/08/23
  • メディア: 大型本
  • この商品を含むブログ (1件) を見る