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

Swift 区间运算符(Range)

In diesem Artikel werden Sie Swifts Range, Typ und Anwendungsfälle kennenlernen.

Range(Intervall)ist der Wertespiegel. Ein einfaches Beispiel für einen Bereich ist1、2、3、4、5、6、7、8、9weil die Zahl von9sind zusammenhängend.

Wir können die beiden angegebenen Bereichsoperationen schnell erstellen:

1.Offene Intervalloperation (lowerBound ... upperBound)

Es umfasst alle Werte im Intervall (lowerbound bis upperBound). Es wird mit …(3Punkte umfasst)Operation angegeben.

例如: 1...3 definiert einen Wert, der1,2,3umfasst

2.Halboffene Intervalloperation (lowerBound .. <upperBound)

Es umfasst alle Werte im Intervall (lowerbound bis upperBound), aber nicht den letzten (upperBound) Wert. Es wird mit dem运算符 ..< angegeben.

例如: 1..<3 Definieren Sie die Werte1und2umfasst

Intervalltyp

1.Geschlossenes Intervall (lowerBound ... upperBound)

Die durch den geschlossenen Intervalloperator erstellten Intervalle werden als geschlossene Intervalle bezeichnet. Sie enthalten alle Werte von Untergrenze bis Obergrenze.

Beispiel1:Verwenden Sie for-in der Schleife drucken Sie die Werte des geschlossenen Intervalls aus

//1... 3Definieren Sie die Werte1、2und3umfasst
for value in 1...3 {
	print(value)
}

Wenn das Programm ausgeführt wird, wird ausgegeben:

1
2
3

Das obige Beispiel erstellt ein Intervall, das1bis3(1...3) zu erfahren, besuchen Sie-in der Schleife, um zu sehen, welche Werte das Intervall enthält. Um mehr über den for-in der Schleife mehr Informationen zu erhalten, besuchen SieSwift for-in der Schleife

Verwenden Sie for-in der Schleife, können wir sehen, dass das geschlossene Intervall alle Werte im gegebenen Intervall enthält, einschließlich des Untergrenzwerts(1) und Obergrenze(3)

2.Halboffenes Intervall (lowerBound .. <upperBound)

Die durch den halboffenen Intervalloperator erstellten Intervalle werden als halboffene Intervalle bezeichnet. Sie enthalten alle Werte von Untergrenze bis Obergrenze, abernichtObergrenzwert.

Beispiel2:Verwenden Sie for-in der Schleife drucken Sie die Werte des halboffenen Intervalls aus

// 1..<3 Definieren Sie ein Intervall mit Werten 1,2
for value in 1..<3 {
	print(value)
}

Wenn das Programm ausgeführt wird, wird ausgegeben:

1
2

Im obigen Beispiel haben wir den for-in der Schleife betrachtet werden, um das Funktionieren des halboffenen Intervalls zu überprüfen.

Anstatt alle Werte auszudrucken, können wir klar erkennen, dass mit dem halboffenen Intervalloperator nur1und2und schließt den oberen Grenzwert (d.h.3).

3.Einseitiges Intervall

Einseitige Intervalle sind Intervalle, die in einer Richtung so kontinuierlich wie möglich sind. Sie können mit dem halboffenen und dem geschlossenen Intervalloperator erstellt werden, aber der Operator hat nur auf einer Seite einen Wert.

Beispiel3:Einseitiges Intervall2

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

Wenn das Programm ausgeführt wird, wird ausgegeben:

true
false

Das obige Beispiel verwendet den halboffenen Intervalloperator, um ein einseitiges Intervall zu erstellen, das kleiner als2jeglichen Ziffern.

Um unser Ergebnis zu überprüfen, haben wir den contains-Operator verwendet. Gibt der Operator zurück, dass das Element im Intervall enthalten ist, dann gibt contains true zurück,否则返回false。

range.contains(-1) überprüft -1 ob es im Intervall enthalten ist. Da der obere Grenzwert des einseitigen Intervalls2 und-1 <2,daher liegt es im Intervall und der Ausdruck print(range.contains(-1)) auf dem Bildschirm true aus.

Aber aufgrund des benutzten halboffenen Intervalloperators gibt der Wert (2) nicht im Intervall enthalten ist. Daher enthält range.contains(2) gibt false zurück.

Beispiel4:von2Einseitiges Intervall

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

Wenn das Programm ausgeführt wird, wird ausgegeben:

true
false

上面的示例使用封闭区间运算符创建一个单侧区间,该范围包含从2到大于2的任何值的数字。

range.contains(100) 检查100是否在区间内。由于是单侧区间,并且100大于2,因此它位于范围内,并在屏幕上打印输出 true。

2),因此 range.contains(1) 返回false。

注意事项

  • 区间的起点必须小于或等于其终点。在我们的示例中 (lowerBound...upperBound) ,下限值必须小于上限值。但是,它可以是负值。
    例如:

    3...1  // 错误:无法使用upperBound < lowerBound 形成Range
    -3...1 // 这是一个有效区间。Lowerbound/Upperbound 可以包含负值。
  • 我们可以使用for-in 循环遍历整个区间(不包括单侧区间)。

  • 我们还可以使用区间运算符来访问数组的元素。