golang

ハローワールドとか今さらなので、合算をしてみましょう。

まず、Rubyで書くなら以下にあたるコードを考えてみましょう。

Rubyで書いた例

すごく手抜きだけど、こんなコードを考えましょう。

class Array
 def gassan
   r = 0
   (self[0]..self[1]).each{|i|
     r += i
   }
   r
 end
end

p [1,10].gassan

これをGOで置き換えてみます。

GOで書くと、こんな感じかな。

配列オブジェクトを使うような手抜きは後で考えるとして、まぁ始点と終点をどう渡すか、あとは戻り値の形式を指示しますか。

func gassan(a int,b int)(int){
   i := a
   n := 0
   for i <= b {
     n += i
     i += 1
   }
   return n
}

うん。 あとはこれを、以下で呼べばいいかな。

func main() {
   fmt.Println("Gassan:  ",gassan(1,10))
}

実行すると、どちらも 5050 を答えとして返すでしょう。

(おまけ)Perlでも書いてみた。

こんな感じかな。今となっては懐かしいですね XD

sub gassan{
 ($a,$b) = @_;
 $r = 0;
 for (my $i = $a ; $i <= $b ; $i++){
   $r = $r + $i
 }
 $r;
}

print &gassan(1,10)."\n";

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-09-26 (水) 10:29:08