Swift Guard 문법
if let func doSomething(str: String?) {
let v :String! = str
if v != nil
{
// use v to do something
}
}
Swift에는 optional이 있기 때문에 항상 비어 있는지 아닌지를 판단해야 한다.만약iflet이 없다면 대체로 위의 모양으로 쓰고iflet이 있으면 고칠 수 있다 func doSomething(str: String?) {
if let v = str
{
// use v to do something
}
}
위의 두 단락 코드의 제어 흐름은 같다.대조해 보면iflet의 작법이 더욱 간결하고 편리하다는 것을 알 수 있다.
guard
만약if에 나타난 코드가 매우 길다면, 우리는 코드를 쓸 때 오류 상황을 먼저 되돌릴 수 있습니다.예를 들면 다음과 같습니다. func doSomething(str: String?) {
let v:String! = str
if v == nil
{
return
}
// use v to do something
}
이렇게 하면 지나치게 많은 끼워 넣는 것을 피할 수 있다.위 코드는 정말 너무 흔합니다. swift에서도guard라는 문법 사탕을 제공합니다.guard로 바꿀 수 있습니다. func doSomething(str: String?) {
guard let v = str else { return }
// use v to do something
}
위의 두 단락 코드의 제어 흐름은 같다.가드의 작법이 더욱 간결하고 편리하다는 것을 알 수 있다.iflet과guard 문법에 나타난where는 단지 몇 가지 조건을 추가할 뿐이다.논리 연산 & & & & |에 해당합니다.SQL의 조건 구문도 where라는 키워드를 사용합니다.만약 아직 이해하지 못한다면, if let과guard를 사용하지 않고 코드를 고쳐 쓰십시오.몇 번 더 시도해 보면 매우 자연스럽다는 것을 알게 될 것이다.
총결산
if문장과 마찬가지로,guard도 하나의 표현식의 브리 값을 바탕으로 코드가 실행되는지 여부를 판단한다.if문장과 달리,guard는 조건이 충족되지 않을 때만 이 코드를 실행할 수 있습니다.너는 가드를 거의 Assert로 볼 수 있지만, 붕괴가 아니라 우아하게 물러날 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
func doSomething(str: String?) {
let v :String! = str
if v != nil
{
// use v to do something
}
}
func doSomething(str: String?) {
if let v = str
{
// use v to do something
}
}
만약if에 나타난 코드가 매우 길다면, 우리는 코드를 쓸 때 오류 상황을 먼저 되돌릴 수 있습니다.예를 들면 다음과 같습니다.
func doSomething(str: String?) {
let v:String! = str
if v == nil
{
return
}
// use v to do something
}
이렇게 하면 지나치게 많은 끼워 넣는 것을 피할 수 있다.위 코드는 정말 너무 흔합니다. swift에서도guard라는 문법 사탕을 제공합니다.guard로 바꿀 수 있습니다.
func doSomething(str: String?) {
guard let v = str else { return }
// use v to do something
}
위의 두 단락 코드의 제어 흐름은 같다.가드의 작법이 더욱 간결하고 편리하다는 것을 알 수 있다.iflet과guard 문법에 나타난where는 단지 몇 가지 조건을 추가할 뿐이다.논리 연산 & & & & |에 해당합니다.SQL의 조건 구문도 where라는 키워드를 사용합니다.만약 아직 이해하지 못한다면, if let과guard를 사용하지 않고 코드를 고쳐 쓰십시오.몇 번 더 시도해 보면 매우 자연스럽다는 것을 알게 될 것이다.
총결산
if문장과 마찬가지로,guard도 하나의 표현식의 브리 값을 바탕으로 코드가 실행되는지 여부를 판단한다.if문장과 달리,guard는 조건이 충족되지 않을 때만 이 코드를 실행할 수 있습니다.너는 가드를 거의 Assert로 볼 수 있지만, 붕괴가 아니라 우아하게 물러날 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSON
JSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다.
그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다.
저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.