ハローワールドとか今さらなので、合算をしてみましょう。
まず、Rubyで書くなら以下にあたるコードを考えてみましょう。
すごく手抜きだけど、こんなコードを考えましょう。
class Array def gassan r = 0 (self[0]..self[1]).each{|i| r += i } r end end p [1,10].gassan
これを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 を答えとして返すでしょう。
こんな感じかな。今となっては懐かしいですね
sub gassan{ ($a,$b) = @_; $r = 0; for (my $i = $a ; $i <= $b ; $i++){ $r = $r + $i } $r; } print &gassan(1,10)."\n";