「Go/条件分岐と繰り返し」の版間の差分
削除された内容 追加された内容
コメントの//とコメント文のあいだは半角スペースを入れるのが一般的(カットシステム『やさしいGo言語』などのコメント表記もそうなってる)。スペース無くても分かるが、今後のコピペの手間の省略を考え、スペース追加。 |
M {{Nav}} タグ: 2017年版ソースエディター |
||
1 行
{{Nav}}
== 制御構造 ==
Goの構文が[[C言語]]と同様だとか、似ているとか言われるのを聞いたことがあると思います。
間違いです。
構文的にも、意味論的にもC言語とGoでは大きな隔たりがあり、「同様」や「似ている」の言葉の幅を考えても明確に間違いです。
=== 条件分岐 ===
Go
C言語にある if や else や switch などの機能は、Go
;C言語:<source lang=c>
▲C言語にある if や else や switch などの機能は、Go言語にもあります。さて本書では、「if」や「else」とは何かについては、本書では説明しないので、C言語などの別の教科書をお読みください。
▲ if (論理式) {
▲ 処理内容
}
</
です。
;Goのif文で:<source lang=go>
}
</
;コード例:<syntaxhighlight lang="go">▼
▲if文は丸カッコがあっても無くても、どちらでもいいのですが、for文などの他の構文では丸カッコがあるとエラーになります。
▲<syntaxhighlight lang="go">
package main
import "fmt"
var
func main() {
if (
fmt.Println("
}
}
</syntaxhighlight>
That's true
</syntaxhighlight>
論理式の中で「○○は△△と等しい」の意味で等号(イコール記号)を使う場合は、C言語と同様に、 <code>==</code> というふうに等号を2つ続けて使います。
51 ⟶ 47行目:
条件「〜でなければ」の else を使う場合、下記のように
:<syntaxhighlight lang="go">
} else {
fmt.Println("偽です")
}
</syntaxhighlight >
▲ } else {
68 ⟶ 60行目:
import "fmt"
var
func main() {
if (
fmt.Println("真だ")
} else {
87 ⟶ 79行目:
=== 繰り返し - for文 ===
Go
<syntaxhighlight lang="go">for i := 0;i < n;i++{
116 ⟶ 108行目:
# 条件が正 (つまり i > nなどといった式が正しい)ならばもう一度 2.に戻る。偽なら終了する
また、C言語などと同様にGo
;コード例:<syntaxhighlight lang="go">
▲<syntaxhighlight lang="go">
package main
import "fmt"
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 です
144 ⟶ 127行目:
4かける2= 8 です
5かける2= 10 です
</syntaxhighlight>
|