[Swift] Hoge: do{ fuga() }という文法
Q&A
Closed
解決したいこと
Swiftのコードを見ていて以下のようなコードを見かけました。
Hoge: do {
fuga()
}
これはどのような挙動をするのでしょうか?
わかっていること
do文はスコープを表し、スコープの中で定義された変数はスコープの外で使用できない。
0
Q&A
Closed
Swiftのコードを見ていて以下のようなコードを見かけました。
Hoge: do {
fuga()
}
これはどのような挙動をするのでしょうか?
do文はスコープを表し、スコープの中で定義された変数はスコープの外で使用できない。
do
はdo
文と呼ばれる文です。Hoge: do
の部分は文にラベルをつける記法です。この例ではあまり意味がありませんが、例えばfor
にラベルをつけると便利なことがあります。
xloop: for x in 0..<10 {
for y in 0..<10 {
// 何かしらの条件で二重ループを一気にbreakしたい
// breakだと内側のループしかbreakできない
break xloop // これでxloopのラベルのついた`for`をbreakすることができる
}
}
実際、以下のように書いてみると「Hi」だけが出力されることがわかります。
foo: do {
print("Hi")
break foo
print("Goodbye")
}
@tamast
Questioner