「Go/条件分岐と繰り返し」の版間の差分

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎繰り返し - for文: 内部リンク
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
106 行
また、C言語などと同様にGoでも、Break文がforブロック中({ } の内部)にあれば、For文から抜け出す。
 
;[https://play.golang.org/p/HOu9YH_kkGQ コード例]:<syntaxhighlight lang="go">
package main
 
112 行
 
func main() {
for i := 1; i <= 5; i = i + 1+ {
fmt.Printf("%dかける * 2 = %d です\n", i, i*2)
}
}
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
1かける * 2 = 2 です
2かける * 2 = 4 です
3かける * 2 = 6 です
4かける * 2 = 8 です
5かける * 2 = 10 です
</syntaxhighlight>
 
128 行
: <syntaxhighlight lang=go inline>for ; cond ; { S() }</syntaxhighlight> ⇒ <syntaxhighlight lang=go inline>for cond { S() }</syntaxhighlight>
: <syntaxhighlight lang=go inline>for true { S() }</syntaxhighlight> ⇒ <syntaxhighlight lang=go inline>for { S() }</syntaxhighlight>
 
==== range 節を伴った For文 ====
{{Main|Go/文#range_節のある文の場合}}
;[https://play.golang.org/p/uaLR8z9coDM コード例]:<syntaxhighlight lang="go">
package main
 
import "fmt"
 
func main() {
var s []int
 
for i := 1; i <= 5; i++ {
s = append(s, 10*i)
}
for i, e := range s {
fmt.Println(i, e)
}
}
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
0 10
1 20
2 30
3 40
4 50
</syntaxhighlight>
: この例ではintのスライス s を宣言し、最初のForで一つづつappendで要素を増やしています。
: range 節は多値代入の右辺となり、左辺の最初に添え字が次に要素の値が入ります。