[アルゴリズム] 1から100までの素数を取得(Go言語編)

pi-1453836_1280
LINEで送る
Share on GREE
Share on LinkedIn

今回のGo言語は、コマンドラインで上限数値の入力を実現してみました。
初心者が故に戸惑いポイントは、コマンドラインからの受け取った値は、文字列の型になってしまい、
数値に変換しなければいけないのだが、GO言語のライブラリをそれに合ったものに切り替えなければいけないのが
少しめんどくさかった。
インタプリタ言語に慣れすぎたせいなのか?
改めてC言語をもっとやりこんでからGOをした方がいいのかもしれないね。

ソースコード

実行

負荷計測(非コンパイル)

100 : 0.208s
1000 : 0.211s
10000 : 0.279s
100000 : 4.077s
1000000 : 5m24.402s

コンパイルした版

100 : 0.008s
1000 : 0.010s
10000 : 0.066s
100000 : 3.784s
1000000 : 5m24.712s

コンパイルしても全然速くない!!!
C言語の方が速い!!!
とりあえず、こんな事がわかりました。
実験した環境はMacBookPro2016latorです。
core i7なので、そんなに悪くないんだけどな・・・
言わずもがな、言語の限界でしょうね。

解説

コマンドラインからの値の受け取り

”111”という文字列を受け取れる。※この際111は数値なのだが、文字列で受け取られる事を忘れると型エラーが出るので要注意

文字列から数値に型変換

strconvをimportして、Atoi関数で変換できるが、受け取り側の”_”は、nilを入れ込む器が必要なので、忘れないように。
※入れないとエラーになります。

変数の型を確認する

reflectライブラリで型を確認することができます。

配列操作まとめ

リンク

素数計算プログラム

Javascript
PHP
Python
Shell
AWK
Go言語

アルゴリズム過去記事

http://wordpress.ideacompo.com/?cat=562&tag=Algorithm

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です