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

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
M {{Nav}}
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
タグ: 2017年版ソースエディター
12 行
C言語にある if や else や switch などの機能は、Goにもあります。しかし、たとえばスコープルール1つをとってもC言語にない要素をGoはもっています。
 
;C言語のif文:<sourcesyntaxhighlight lang=c>
if ( 条件 ) {
</syntaxhighlight lang="go">
/*処理*/
:に対して
;Goのif文:<sourcesyntaxhighlight lang=go>
if 条件式 {
/*処理*/
}
</syntaxhighlight>
</source>
: if文はカッコ条件式を囲む丸括弧があっても(たまたま)許容されますが、for文などの他の構文でカッコがあると構文エラーになります。
です。
: 逆に、Goでは波括弧は必須です。
 
: また、Goでは条件式は真理値である必要があり、<code>i != 0</code> を単に <code>i</code> とは書けません。
;Goのif文で:<source lang=go>
if 式 {
/*処理*/
}
</source>
※ if文はカッコがあっても(たまたま)許容されますが、for文などの他の構文でカッコがあると構文エラーになります。
 
;コード例:<syntaxhighlight lang="go">
31 ⟶ 30行目:
import "fmt"
 
var x = 3;
 
func main() {
if (x == 3) {
fmt.Println("That's true")
}
}
}
</syntaxhighlight>
53 ⟶ 52行目:
</syntaxhighlight >
 
;コード例:<syntaxhighlight lang="go">
 
;コード例
<syntaxhighlight lang="go">
package main
 
import "fmt"
 
var x = 7;
 
func main() {
if (x == 3) {
fmt.Println("真だ")
} else {
fmt.Println("偽です")
}
}
}
</syntaxhighlight>
;実行結果:<syntaxhighlight lang=text>
 
 
;実行結果
<pre>
偽です
</syntaxhighlight>
</pre>
 
 
=== 繰り返し - for文 ===