Swift에는 철저한 switch 문이 필요하며 각 케이스에는 실행 가능한 코드가 있어야합니다.
‘switch’의 ‘case’레이블에는 실행 가능한 문이 하나 이상 있어야합니다.
실제로 아무것도하고 싶지 않은 경우를 처리 할 수있는 좋은 방법을 결정한 사람이 있습니까? 거기에 println ()을 넣을 수는 있지만 더럽습니다.
답변
책 에 따르면 break
거기 에서 사용해야 합니다.
각 케이스의 범위는 비워 둘 수 없습니다. 따라서 각 케이스 레이블의 콜론 (:) 뒤에 최소한 하나의 명령문을 포함해야합니다.
break
일치하는 케이스의 본문에서 코드를 실행하지 않으려면 단일 문을 사용하십시오 .
답변
break
문을 사용할 수 있습니다 .
let vegetable = "red pepper"
var vegetableComment: String = "Nothing"
switch vegetable {
case "cucumber", "watercress":
break // does nothing
case let x where x.hasSuffix("pepper"):
vegetableComment = "Is it a spicy \(x)?"
default:
vegetableComment = "Everything tastes good in soup."
}
문서 에서 수정 된 예
답변
다음은 null 문에 대한 한 가지 옵션이지만 좋은 솔루션이 아닐 수도 있습니다. 파이썬 패스와 같은 문을 찾을 수 없습니다.
{}()
스위치 케이스의 경우 휴식이 더 나은 선택입니다.
break
답변
내가 찾은 가장 깨끗한 해결책은 단순히 스위치 케이스에 마지막 진술을 기본값으로 포함하는 것입니다. 이렇게하면 break
가능한 모든 경우를 처리하면서 추가 또는 기타 불필요한 문 을 추가 할 필요가 없습니다.
예를 들면 :
switch myVar {
case 0:
myOtherVar = "Red"
case 1:
myOtherVar = "Blue"
default:
myOtherVar = "Green"
}
답변
break
다른 답변에서 언급 한 것 외에도 ()
no-op 문으로 사용되는 것을 보았습니다 .
switch 0 == 1 {
case true:
break
case false:
()
}
혼란 스럽거나 3자를 저장하려는 ()
경우 사용하십시오 break
.