Bereiche in Swift (mit Beispielen)

In diesem Artikel erfahren Sie mehr über Reichweite, Typ und Anwendungsfälle in Swift.

Ein Bereich ist ein Werteintervall. Ein einfaches Beispiel für einen Bereich ist 0,1,2,3,4,5,6,7,8,9, da die Zahlen von 0 bis 9 fortlaufend sind.

Mit zwei unten beschriebenen Bereichsoperatoren können wir schnell einen Bereich erstellen:

1. Closed Range Operator (LowerBound… UpperBound)

Es enthält alle Werte im Intervall (untere Grenze bis obere Grenze). Es wird mit dem Operator (3 Punkte) deklariert .

Beispiel: 1… 3 Definiert einen Bereich mit den Werten 1,2,3

2. Half Open Range Operator (untere Grenze…

Es enthält alle Werte im Intervall (untere Grenze bis obere Grenze), schließt jedoch die letzte Nummer (obere Grenze) aus. Es wird mit dem … <Operator deklariert .

Beispiel: 1… <3 Definiert einen Bereich mit den Werten 1 und 2

Arten von Bereichen

1. Geschlossener Bereich (untere Grenze… obere Grenze)

Mit dem Operator für geschlossene Bereiche erstellte Bereiche werden als geschlossener Bereich bezeichnet. Es enthält alle Werte von der unteren bis zur oberen Grenze.

Beispiel 1: Drucken von Werten für den geschlossenen Bereich mithilfe der For-In-Schleife

 // 1… 3 Defines a range containing values 1, 2 and 3 for value in 1… 3 ( print(value) ) 

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 1 2 3 

Das obige Beispiel erstellt einen Bereich, der Zahlen von 1 bis 3 enthält ( 1… 3). Wir haben eine For-In-Schleife verwendet, um zu sehen, welche Werte der Bereich enthält. Weitere Informationen zu For-In-Schleifen finden Sie unter Swift For-In-Schleife.

Mit der For-In-Schleife können wir sehen, dass der geschlossene Bereich alle Werte im angegebenen Bereich enthält, einschließlich der unteren (1) und oberen (3) Grenzwerte.

2. Half Open Range (untere Grenze…

Mit dem Operator für halboffene Bereiche erstellte Bereiche werden als halboffene Bereiche bezeichnet. Es enthält alle Werte von der Untergrenze bis zur Obergrenze, schließt jedoch den Wert für die Obergrenze aus.

Beispiel 2: Drucken von Werten für den halben offenen Bereich mithilfe der For-In-Schleife

 // 1… <3 Defines a range containing values 1,2 for value in 1… <3 ( print(value) ) 

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 1 2 

Im obigen Beispiel haben wir die for-in-Schleife verwendet, um zu sehen, wie der halboffene Bereich funktioniert.

Anstatt alle Werte zu drucken, können wir deutlich sehen, dass der halboffene Operator nur 1 und 2 druckt und den Wert der oberen Grenze (dh 3) ausschließt.

3. Einseitiger Bereich

Einseitiger Bereich sind solche Bereichstypen, die sich so weit wie möglich in eine Richtung fortsetzen. Es kann sowohl mit dem Operator für den halben offenen Bereich als auch mit dem Operator für den geschlossenen Bereich erstellt werden, der Operator kann jedoch nur auf einer Seite einen Wert haben.

Beispiel 3: Einseitiger Bereich kleiner als 2

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

Wenn Sie das Programm ausführen, lautet die Ausgabe wie folgt:

 wahr falsch 

Im obigen Beispiel wird ein einseitiger Bereich mit dem Operator "Halboffener Bereich" erstellt, der beliebige Zahlen unter zwei enthält.

Um unser Ergebnis zu validieren, haben wir die contains Methode verwendet. Die containsMethode gibt einfach zurück, truewenn das Element innerhalb des Bereichs liegt, andernfalls wird es zurückgegeben false.

range.contains(-1)prüft, ob -1 innerhalb des Bereichs liegt oder nicht. Da sein einseitiger Bereich mit der Obergrenze 2 und -1 <2 liegt, liegt er innerhalb des Bereichs und print(range.contains(-1))gibt trueauf dem Bildschirm aus.

However, because of half-open range operator, the upper bound value(2) does not contains inside the range. So, range.contains(2) returns false.

Example 4:One-sided range starting from 2

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

When you run the program, the output will be:

 true false 

The above example creates a one sided range using closed operator that contains numbers from 2 to any values greater than 2.

range.contains(100) checks if 100 lies inside the range or not. Since, its one sided range and 100 is greater than 2, it lies inside the range and prints true in the screen.

However, it has a lower bound value (2), so range.contains(1) returns false .

Things to remember

  • Der Anfang eines Bereichs muss kleiner oder gleich seinem Ende sein. In unserem Beispiel (lowerBound… upperBound)muss der untere Grenzwert kleiner als der obere Grenzwert sein. Es kann jedoch ein negativer Wert sein.
    Beispiel:
    3… 1 // schwerwiegender Fehler: Bereich kann nicht mit UpperBound <LowerBound -3… 1 // gebildet werden. Dies ist ein gültiger Bereich. Lowerbound / Upperbound kann einen negativen Wert enthalten, sollte jedoch die obige Aussage gültig machen.
  • Wir können den Bereich (mit Ausnahme des einseitigen Bereichs) mithilfe von For-In-Schleifen durchlaufen.
  • Wir können auch den Bereichsoperator verwenden, um auf Elemente eines Arrays zuzugreifen.

Interessante Beiträge...