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

削除された内容 追加された内容
Ef3 (トーク | 投稿記録)
→‎selecth文: コード例
タグ: 2017年版ソースエディター
Ef3 (トーク | 投稿記録)
M →‎switch文: s/コーデ例/コード例/
タグ: 2017年版ソースエディター
98 行
 
==== switch文 ====
switch文をつかうと複雑になったif文を簡素に書換えることができます。
;[https://play.golang.org/p/bXQaelJwaO9 コード例]:<syntaxhighlight lang="go" line>
package main
123 行
NaN
</syntaxhighlight>
:[[#if文|if文のコー]]をswitch文に置換えてみました。
;switch文の冒頭:<syntaxhighlight lang="go" start=9 line>
switch num := math.NaN(); {
135 行
:Cファミリーの言語を知っている人ならば、'''break''' がないのが気になると思いますが、Goのswitch文のcase節ではbreakが標準動作で、フォールスルーさせるためには、'''fallthrough''' 文を使います<ref>Javaの -> と同じふるまいをします。ただしGoのswitch文はJavaの様に文の値を持ちません。</ref>。
:Goのcase文の式には、定数以外も書くこともでき上の例では(動的な)比較演算が使われています。
:この例では(暗黙の)true と比較しているの、最初にtrueになったcaseに対応する文が実行されるのですが、numはNaNでどの条件にも当てはまらないので default 節まで落ちてきます。
 
==== selecth文 ====