概要
以下は自分用のメモです。よく忘れるので、ここにメモメモ。。
Goでたまに for ループで 2つの変数を定義してループさせたいときがあります。
他の言語だと、例えばこんな感じ。
for (int i = s.Length-1, j = 0; i >= 0; i--, j++) { }
これを、Goで同じように書いてもコンパイルエラーになります。
Goの場合は以下のように書きます。
package loops import "github.com/devlights/gomy/output" // ForLoopTwoVariable -- for ループで 2つの変数 を初期化してループさせるサンプルです. // // REFERENCES // - https://stackoverflow.com/questions/38081807/for-loop-of-two-variables-in-go func ForLoopTwoVariable() error { var ( s = "helloworld" r = make([]byte, len(s)) ) // for i:=len(s)-1, j:=0; i >= 0; i--,j++ ではないことに注意 for i, j := len(s)-1, 0; i >= 0; i, j = i-1, j+1 { r[j] = s[i] } output.Stdoutl("[orig]", s) output.Stdoutl("[ret ]", string(r)) return nil }
i--,j++
と書けないのに注意。
参考情報
過去の記事については、以下のページからご参照下さい。
サンプルコードは、以下の場所で公開しています。