LoginSignup
3
2

More than 5 years have passed since last update.

Go言語で素数を求める(Hello World 的サンプルプログラム)

Posted at

なんとなく Go 言語を勉強してみた。

Go言語のインストール

Go言語のインストールを見てやった。私の環境は Ubuntu 14.04 なのだが、バイナリが用意されていて、それを /usr/local/goに展開するだけ。拍子抜けするくらいインストールは簡単だった。Mac や Windows でもバイナリーが用意されているようだ。

Go言語のチュートリアル

A Tour of Go(日本語版)が素晴らしい。ウェブ上でインタラクティブに Go言語のコードが実行できるようにもなっている。文字通り30分もこのチュートリアルを学べば、基本的なプログラムが書き始められるようになるだろう。

100未満の素数を求める

prime.go
package main

import (
    "fmt"
)

func IsPrime(n int) bool {
  if n < 2 {
    return true
  } else if n == 2 {
    return true
  } else if n % 2 == 0 {
    return false
  } else {
    i := 3
    for i * i <= n {
      if n % i == 0 {
        return false
      }
      i += 2
    }
    return true
  }
}

func main() {
  for i := 2; i < 100; i += 1 {
    if IsPrime(i) {
        fmt.Println(i)
    }
  }
}

素数を求めるにはもっとよいアルゴリズムがあるがとりあえずこれは Hello World 的習作なのでこれでよい。

Go言語の実行とビルド

単に実行してみるだけなら、

$ go run prime.go

単独で実行できるバイナリが欲しければ、

$ go build prime.go

とする。この場合 prime という名前の実行ファイルができるので、

$ ./prime

とすれば、

2
3
5
...

などと結果が表示される。
ちなみに私の環境ではこの実行ファイルのサイズは1.8MBもあった。いろいろライブラリが静的にリンクされているのだろう。

感想

Go言語をちょっと触ってみるのはすこぶる簡単。

3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2