Nil Coalescing Operator, 구간 연산자

2346 단어

Nil Coalescing Operator


공합 연산자 (a??b) 는 선택할 수 있는 유형 a에 대해 공판단을 하고, a가 하나의 값을 포함하면 봉인을 해제하며, 그렇지 않으면 기본값 b를 되돌려줍니다. 이 연산자는 두 가지 조건이 있습니다.
  • 표현식 a는 Optional 유형이어야 합니다
  • .
  • 기본값 b의 유형은 a 저장값의 유형과 일치해야 한다
  • 공합병 연산자는 아래 코드에 대한 간단한 표현 방법

    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...

    좋은 웹페이지 즐겨찾기