Schnelle Datentypen (mit Beispielen)

In diesem Tutorial lernen Sie verschiedene Datentypen kennen, die die Programmiersprache Swift unterstützt, und verwenden sie beim Erstellen einer Variablen oder Konstante.

Ein Datentyp ist der Datentyp (Wert), den eine Variable oder Konstante darin speichern kann. Im Artikel Swift-Variablen und -Konstanten haben Sie beispielsweise eine Variable und eine Konstante erstellt, um Zeichenfolgendaten im Speicher zu speichern.

Diese Daten können ein Text / eine Zeichenfolge ("Hallo") oder eine Zahl (12,45) oder nur Bits (0 und 1) sein. Durch das Definieren des Datentyps wird sichergestellt, dass nur der definierte Datentyp gespeichert wird.

Schauen wir uns ein Szenario an:

Angenommen, Sie möchten ein Spiel erstellen. Da die meisten Spiele nach Abschluss des Spiels eine hohe Punktzahl und den Namen des Spielers anzeigen, müssen Sie diese beiden Daten für Ihr Spiel speichern.

Die höchste Punktzahl ist eine Zahl (z. B. 59) und der Name des Spielers eine Zeichenfolge (z. B. Jack). Sie können zwei Variablen oder Konstanten erstellen, um die Daten zu speichern.

In Swift können Sie dazu Variablen und den Datentyp wie folgt deklarieren:

 var highScore: Int = 59 var playerName: String = "Jack"

Hier haben wir eine HighScore-Variable vom Typ deklariert, in der Intder Wert 59 gespeichert ist. Und die Variable playerName vom Typ, in Stringder der Wert Jack gespeichert ist .

Wenn Sie jedoch so etwas tun:

 var highScore: Int = "Jack"

Sie erhalten einen Kompilierungsfehler, der besagt , dass der Wert vom Typ 'String' nicht in den angegebenen Typ 'Int' konvertiert werden kann .

Dies liegt daran, dass Sie highScore deklariert haben, um einen ganzzahligen Wert zu speichern, aber eine Zeichenfolge darin platziert haben. Dieser Fehler stellt sicher, dass highScore nur eine Nummer und nicht den Namen des Spielers speichern kann.

Größe eines Datentyps

Ein weiterer wichtiger Teil eines Datentyps ist seine Größe. Dies gibt die Größe der Daten an, die in einer bestimmten Variablen oder Konstante gespeichert werden können.

Die Größe eines Typs wird in Bit gemessen und kann Werte bis zu 2 Bit speichern . Wenn Sie Bit nicht kennen, stellen Sie es sich als einen Wert vor, der entweder 0 oder 1 ist.

Also, für einen Typen size = 1 Bit, kann es nur speichern , bis, 2 1 = 2, zwei Werte: 0 oder 1 so ein 1 - Bit - System für einen Brief Programm 0 als / 0 und 1 als b interpretieren kann / 1.0.

 0 -> a oder 0 1 -> b oder 1

Ebenso kann ein Zwei-Bit-System bis zu 2 2 = 4 Werte speichern : (00,01,10,11) und jede Kombination kann dargestellt werden als:

 00 -> a oder 0 01 -> b oder 1 11 -> c oder 2 10 -> d oder 3

Für ein Bit-System können maximal 2 n Werte darin gespeichert werden .

Schnelle Datentypen

Die in swift am häufigsten verwendeten Datentypen sind nachfolgend aufgeführt:

Bool

  • Vom Bool-Typ deklarierte Variable / Konstante kann entweder trueoder nur zwei Werte speichern false.
  • Standardwert : false
  • Es wird häufig verwendet, wenn Sie mit if-elseAnweisungen arbeiten. Swift, wenn sonst der Artikel ausführlich darüber berichtet.

Beispiel 1: Boolescher Datentyp

 let result:Bool = true print(result)

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

 wahr

Ganze Zahl

  • Eine vom Integer-Typ deklarierte Variable / Konstante kann sowohl positive als auch negative ganze Zahlen einschließlich Null ohne gebrochene Komponenten speichern.
  • Standardwert : 0
  • Größe : 32/64 Bit hängt vom Plattformtyp ab.
  • Bereich : -2.147.483.648 bis 2.147.483.647 (32-Bit-Plattform)
    -9223372036854775808 bis 9223372036854775807 (64-Bit-Plattform)
  • Es gibt viele Varianten von Integer type.eg UInt, Int8, Int16usw. Die häufigste Sie verwenden , ist von Int.
  • Wenn Sie eine Anforderung haben die Größe / Art der spezifizieren integer eine Variable / Konstante halten kann, können Sie speichern es insbesondere unter Verwendung von UInt, Int8, Int16etc. , die wir unten gehen zu erkunden.

Beispiel 2: Integer-Datentyp

 var highScore:Int = 100 print(highScore) highScore = -100 print(highScore) 

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

 100-100 

Im obigen Beispiel haben wir eine Variable highScore vom Typ deklariert Int. Zuerst haben wir ihm einen Wert von 100 zugewiesen, damit print(highScore)100 auf dem Bildschirm ausgegeben werden.

Später haben wir den Wert mit dem Zuweisungsoperator auf -100 geändert, highScore = -100sodass print(highScore)-100 auf dem Bildschirm ausgegeben wird.

Lassen Sie uns einige Varianten des IntTyps in Swift untersuchen.

Int8

  • Variante vom Typ Integer, die sowohl positive als auch negative kleine Zahlen speichern kann.
  • Standardwert : 0
  • Größe : 8 Bit
  • Bereich : -128 bis 127

Eine Int8Ganzzahl kann insgesamt 2 8 = (256) Werte darin speichern . dh es kann Zahlen von 0 bis 255 speichern, oder?

Yes, you are correct. But since, Int8 includes both positive and negative numbers we can store numbers from -128 to 127 including 0 which totals to 256 values or numbers.

 var highScore:Int8 = -128//ok highScore = 127 //ok highScore = 128 // error here highScore = -129 //error here 

You can also find out the highest and lowest value a type can store using .min and .max built in Swift functions.

Example 3: Max and Min Int8 data type

 print(Int8.min) print(Int8.max) 

When you run the program, the output will be:

 -128 127

UInt

  • Variant of Integer type called UInt (Unsigned Integer) which can only store unsigned numbers (positive or zero).
  • Default Value: 0
  • Size: 32/64 bit depends on the platform type.
  • Range: 0 to 4294967295 (32 bit platform)
    0 to 18446744073709551615 (64 bit platform)

Example 4: UInt data type

 var highScore:UInt = 100 highScore = -100//compile time error when trying to 

The above code will give you a compile time error because a Unsigned Integer can only store either 0 or a positive value. Trying to store a negative value in an Unsigned Integer will give you an error.

Float

  • Variables or Constants declared of float type can store number with decimal or fraction points.
  • Default Value: 0.0
  • Size: 32 bit floating point number.
  • Range: 1.2*10-38 to 3.4 * 1038 (~6 digits)

Example 5: Float data type

 let highScore:Float = 100.232 print(highScore) 

When you run the program, the output will be:

 100.232

Double

  • Variables / Constants declared of Double type also stores number with decimal or fraction points as Float but larger decimal points than Float supports.
  • Default value : 0.0
  • Size: 64-bit floating point number. (Therefore, a variable of type Double can store number with decimal or fraction points larger than Float supports)
  • Range: 2.3*10-308 to 1.7*10308 (~15 digits)

Example 6: Double data type

 let highScore:Double = 100.232321212121 print(highScore) 

When you run the program, the output will be:

 100.232321212121

Character

  • Variables/Constants declared of Character type can store a single-character string literal.
  • You can include emoji or languages other than english as an character in Swift using escape sequence u(n) (unicode code point ,n is in hexadecimal).

Example 7: Character data type

 let playerName:Character = "J" let playerNameWithUnicode:Character = "u(134)" print(playerName) print(playerNameWithUnicode) 

When you run the program, the output will be:

 J Ĵ

String

  • Variables or Constants declared of String type can store collection of characters.
  • Default Value: "" (Empty String)
  • It is Value type. See Swift value and Reference Type .
  • You can use for-in loop to iterate over a string. See Swift for-in loop.
  • Swift also supports a few special escape sequences to use them in string. For example,
    • (null character),
    • \ (a plain backslash ),
    • (a tab character),
    • v (a vertical tab),
    • (carriage return),
    • " (double quote),
    • \' (single quote), and
    • u(n) (unicode code point ,n is in hexadecimal).

Example 8: String data type

 let playerName = "Jack" let playerNameWithQuotes = " "Jack "" let playerNameWithUnicode = "u(134)ack" print(playerName) print(playerNameWithQuotes) print(playerNameWithUnicode) 

When you run the program, the output will be:

 Jack "Jack" Ĵack 

See Swift characters and strings to learn more about characters and strings declaration, operations and examples.

In addition to this data types, there are also other advanced data types in Swift like tuple, optional, range, class, structure etc. which you will learn in later chapters.

Things to remember

1. Since Swift is a type inference language, variables or constants can automatically infer the type from the value stored. So, you can skip the type while creating variable or constant. However you may consider writing the type for readability purpose but it’s not recommended.

Example 9: Type inferred variable/constant

 let playerName = "Jack" print(playerName) 

Swift compiler can automatically infer the variable to be of String type because of its value.

2. Swift is a type safe language. If you define a variable to be of certain type you cannot change later it with another data type.

Beispiel 10: Swift ist eine typsichere Sprache

 let playerName:String playerName = 55 //compile time error 

Der obige Code erzeugt einen Fehler, da wir bereits angegeben haben, dass die Variable playerName ein String sein wird. Wir können also keine Ganzzahl darin speichern.

Interessante Beiträge...