English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Swift 区간 연산자 (Range)

이 문서에서는 Swift의 Range, 타입 및 예제를 배울 것입니다.

Range(区间)은 값의 간격입니다. 간단한 Range 예제는 0、1、2、3、4、5、6、7、8、9، porque os números vão de 0 até9연속적입니다.

아래 설명된 두 가지 범위 연산자를 사용하여 빠르게 区间을 생성할 수 있습니다:

1. 완전 개区间 연산자(lowerBound ... upperBound)

그것은 간격(lowerbound에서 upperBound까지)의 모든 값을 포함합니다. …(3점)연산자를 사용하여 선언합니다.

예제: 1...3 값을 포함하는 정의1,2,3의 区间을 생성했습니다

2. 반개区间 연산자(lowerBound .. <upperBound)

그것은区间(lowerbound에서 upperBound까지)의 모든 값을 포함하지만 마지막 수(upperBound)를 포함하지 않습니다. ..< 연산자를 사용하여 선언합니다.

예제: 1..<3 값을 포함하는 区间을 정의합니다1와2의 区间을 생성했습니다

구간 유형

1.닫힌 구간(lowerBound ... upperBound)

닫힌 구간 연산자를 사용하여 생성된 区간은 닫힌 구간으로 불립니다. 그것은 하한값에서 상한값까지 모든 값을 포함합니다。

예제1:for-in 루프로 닫힌 구간의 값을 인쇄합니다

//1... 3값을 포함하는 区间을 정의합니다1、2와3의 区间을 생성했습니다
for value in 1...3 {
	print(value)
}

프로그램을 실행할 때, 출력은 다음과 같습니다:

1
2
3

위의 예제는1까지3(1...3)의 숫자 区间을 생성했습니다.-)에 대한 정보를 알고 싶다면-in 루프로 区间에 포함된 값들을 확인할 수 있습니다. forin 루프에 대한更多信息는-Swift forin 루프를 사용하여

。-for1)를 포함한 모든 값을 포함합니다.3)와 상한값(

2)를 반환합니다。

.반개구간(lowerBound .. <upperBound)반개구간 연산자를 사용하여 생성된 区间은 반개구간으로 불립니다. 그것은 하한값에서 상한값까지 모든 값을 포함하지만상한값을 포함하지 않습니다。

예제2:for-in 루프로 반개구간의 값을 인쇄합니다

// 1..<3 값을 포함하는 区间을 정의합니다 1,2
for value in 1..<3 {
	print(value)
}

프로그램을 실행할 때, 출력은 다음과 같습니다:

1
2

위의 예제에서는 for-반개구간의 작동 원리를 확인하기 위해 in 루프를 사용할 수 있습니다。

모든 값을 인쇄하지 않아도, 반개구간 연산자를 사용하여 인쇄된 값만을 명확하게 볼 수 있습니다.1와2그리고 상한값을 포함하지 않습니다(즉3)를 반환합니다。

3.단면区间

단면区间은 한 방향에서 가능한 한 연속적인 区间입니다. 반개구간 연산자와 닫힌 구간 연산자를 사용하여 그것을 생성할 수 있지만, 연산자는 한 방향에만 값이 있습니다.

예제3:단면区间이2

let range = ..<2
print(range.contains(-1))
print(range.contains(2))

프로그램을 실행할 때, 출력은 다음과 같습니다:

true
false

위의 예제는 반개구간 연산자를 사용하여 단면区间을 생성하여, 그것은2의 모든 숫자.

결과를 확인하기 위해 contains 메서드를 사용했습니다. 요소가 区间 내에 위치하면 contains 메서드는 true를 반환하며, 그렇지 않으면 false를 반환합니다。

range.contains(-1)를 확인합니다。 -1 단면区间의 상한值为2 그리고-1 <2따라서 그것은 区间 내에 위치하고 있으며, print(range.contains(-1))는 스크린에서 true로 출력됩니다。

하지만, 반개구간 연산자를 사용하여 상한값(2)에 포함되지 않습니다. 따라서, range.contains(2)는 false를 반환합니다。

예제4:부터2시작의 단면区间

let range = 2...
print(range.contains(100))
print(range.contains(1))

프로그램을 실행할 때, 출력은 다음과 같습니다:

true
false

위의 예제는 단側区间을 포함하는 닫힌区间 연산자를 사용하여 단側区间를 생성합니다.2까지2의 모든 값을 숫자로 변환합니다.

range.contains(10(0) 확인100이区间 내에 있는지 확인합니다. 단側区间이며,100은2이므로 그것은区间 내에 있으며, 스크린에 출력된 true입니다.

하지만, 하한값을 가지고 있습니다(2)를 포함합니다.1)를 반환합니다.

주의사항

  • 区间의 시작점은 종점보다 작거나 같아야 합니다. 우리의 예제에서 (lowerBound...upperBound)에서는, 하한값은 상한값보다 작아야 합니다. 그러나 음수 값일 수 있습니다.
    예제:

    3...1  // 에러: upperBound < lowerBound로 Range를 형성할 수 없습니다
    -3...1 // 이는 유효한区间입니다。Lowerbound/Upperbound은 음수 값을 포함할 수 있습니다
  • 우리는 for-in 루프를 사용하여 전체区间를 순회합니다(단側区间를 제외하고)。

  • 우리는区间 연산자를 사용하여 접근할 수도 있습니다배열의요소.