#author("2018-09-26T10:29:08+09:00","default:yakumo_murakami","yakumo_murakami")
[[golang]]

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

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

* Rubyで書いた例 [#q42c0862]

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

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

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

* GOで書くと、こんな感じかな。 [#je3ffc03]

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

 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でも書いてみた。 [#ge6d4a7a]

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

 sub gassan{
  ($a,$b) = @_;
  $r = 0;
  for (my $i = $a ; $i <= $b ; $i++){
    $r = $r + $i
  }
  $r;
 }
 
 print &gassan(1,10)."\n";

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS