Nil Coalescing Operator, 구간 연산자
Nil Coalescing Operator
공합 연산자 (a??b) 는 선택할 수 있는 유형 a에 대해 공판단을 하고, a가 하나의 값을 포함하면 봉인을 해제하며, 그렇지 않으면 기본값 b를 되돌려줍니다. 이 연산자는 두 가지 조건이 있습니다.
a != nil ? a! : b
상기 코드에 세 가지 연산자를 사용했다.선택할 수 있는 형식 a의 값이 비어 있지 않을 때 강제 해제 (a!)a 값에 접근하고, 반대로 a 값이 비어 있을 때 기본값 b를 되돌려줍니다.의심할 여지없이 공합 연산자(??)조건 판단과 봉인 해제 두 가지 행위를 더욱 우아하게 봉인하는 방식을 제공하여 간결하고 읽을 만하다.
: a (non-nil), b 。 。
다음 예는 공합 연산자를 사용하여 기본 색 이름과 선택할 수 있는 사용자 정의 색 이름 사이의 선택을 실현했다. let defaultColorName = "red"
var userDefinedColorName:String? // nil
var colorNameToUse = userDefinedColorName ?? defaultColorName
//userDefinedColorName , colorNameToUse red
userDefinedColorName 변수는 선택할 수 있는 문자열 형식으로 정의되었고 기본값은nil이다.userDefinedColorName은 선택할 수 있는 유형이기 때문에, 우리는 빈 연산자를 사용하여 그 값을 판단할 수 있습니다.이전 예에서는 colorNameTouse라는 변수에 대한 문자열 유형의 초기 값을 빈 연산자로 지정합니다.userDefinedColorName 값이 비어 있기 때문에 표현식userDefinedColorName??defaultColorName이 기본값인 red를 반환합니다.다른 경우, 사용자 Defined ColorName에 비공식 값 (non-nil) 을 분배하고, 다시 공합 연산을 실행합니다. 연산 결과는 사용자 Default ColorName에 있는 값이 아니라 사용자 Default ColorName에 봉인된 값입니다.
userDefinedColorName = "green"
colorNameToUse = userDefinedColorName ?? defaultColorName
//userDefinedColorName , colorNameToUsede
구간 연산자
Swift는 한 구간의 값을 쉽게 표현할 수 있는 두 개의 연산자를 제공합니다.
폐구간 연산자
폐구간 연산자 (a... b) 는 a에서 b (a와 b 포함) 까지의 모든 값을 포함하는 구간을 정의합니다. b는 a보다 커야 합니다.폐쇄 구간 연산자는 한 구간의 모든 값을 교체할 때 매우 유용하다. 예를 들어 for-in 순환 중:
for index in 1...5 {
println("\(index) * 5 = \(index * 5)")
}
// 1 * 5 = 5
// 2 * 5 = 10
// 3 * 5 = 15
// 4 * 5 = 20
// 5 * 5 = 25
for-in에 관해서는 제어 흐름을 보십시오.반개구간 연산자 반개구간 (a. 반개구간의 실용성은 0부터 시작하는 목록 (예: 그룹) 을 사용할 때 0에서 목록의 길이를 세는 데 매우 편리하다는 데 있다.
let names = ["Anna", "Alex", "Brian", "Jack"]
let count = names.count
for i in 0..< count {
println(" \(i + 1) \(names[i])")
}
// 1 Anna
// 2 Alex
// 3 Brian
// 4 Jack
수조에는 4개의 원소가 있지만 0...
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.