Swift Struktur
Swift-Struktur ist der Code verwendet, um eine gemeinsame und flexible Struktur zu bauen.
Wir können die Eigenschaften der Struktur (Konstanten, Variablen) definieren und fügen Methoden funktionale Struktur zu erweitern.
C und Objective C ist anders:
Struktur muss nicht mit der Implementierung-Datei und Schnittstellen umfassen.
Struktur ermöglicht es uns, eine einzelne Datei zu erstellen, und das System wird automatisch den Code für andere externe Schnittstellen erzeugen.
Struktur immer durch Übertragung in Code repliziert werden, so dass ihr Wert nicht geändert werden kann.
Grammatik
Wir definieren die Struktur durch das Schlüsselwort struct:
struct nameStruct { Definition 1 Definition 2 …… Definition N }
Beispiele
Wir definieren eine Struktur namens MarkStruct, Eigenschaften Struktur für Studenten drei Themen zu punkten, um den Datentyp Int:
struct MarkStruct{ var mark1: Int var mark2: Int var mark3: Int }
Wir können durch Strukturnamen auf eine Struktur kommen.
Beispiele für die Struktur , die die Schlüsselwortlet mit:
import Cocoa struct studentMarks { var mark1 = 100 var mark2 = 78 var mark3 = 98 } let marks = studentMarks() print("Mark1 是 \(marks.mark1)") print("Mark2 是 \(marks.mark2)") print("Mark3 是 \(marks.mark3)")
Die obige Programmausführung Ausgabe ist:
Mark1 是 100 Mark2 是 78 Mark3 是 98
Beispiel, wir Zugang 'studentMarks' auf die Leistungen der Schüler durch den Strukturnamen. Strukturelement an mark1 initialisiert, mark2, mark3, Datentyp integer.
Wir verwenden dann die Schlüsselwortlet Struktur studentMarks () instanziiert und auf die Marken geführt.
Schließlich kamen wirWert Zahl , um die Strukturelement zuzugreifen.
Traditionellen Werten und Klonierung einer Struktur wird durch die folgenden Beispiele der Struktur instanziiert:
import Cocoa struct MarksStruct { var mark: Int init(mark: Int) { self.mark = mark } } var aStruct = MarksStruct(mark: 98) var bStruct = aStruct // aStruct 和 bStruct 是使用相同值的结构体! bStruct.mark = 97 print(aStruct.mark) // 98 print(bStruct.mark) // 97
Die obige Programmausführung Ausgabe ist:
98 97
Anwendungsstruktur
In Ihrem Code können Sie Ihre benutzerdefinierten Datentyp Strukturen definieren.
Beispiele für die Struktur ist immer Ihre benutzerdefinierte Datentypen von Wert übergeben zu definieren.
Gemäß der allgemeinen Regel, wenn die Übereinstimmung mit einem oder mehreren der folgenden Kriterien, Gebäudestruktur berücksichtigen:
- Der Hauptzweck der Struktur wird verwendet, um kleine Datenmengen zu verkapseln, um einfache Werte bezogen.
- Zu erwarten, dass eine Strukturinstanz Abtretung oder Übertragung, die verkapselten Daten kopiert werden, nicht referenziert.
- Jede Art von Eigenschaftswerten in der Struktur gespeichert, wird sie kopiert werden, nicht referenziert.
- Die Struktur muss nicht Eigentum oder andere Typen zu erben Verhalten ist bereits vorhanden.
Zum Beispiel können die folgenden Situationen für die Verwendung der Struktur:
- Geometrische Größe und Form der Verpackung eine
width
Eigenschaft und dieheight
Eigenschaft, die beideDouble
- Typ. - Pfade innerhalb eines bestimmten Bereichs, ein Paket
start
Eigenschaften undlength
Eigenschaften, von denen beideInt
- Typ. - Dreidimensionalen Koordinatensystem , das Paket
x
,y
undz
- Eigenschaften, sind dreiDouble
Typ.
Beispiele für die Struktur wird durch Wert übergeben und nicht Bezug genommen wird.
import Cocoa struct markStruct{ var mark1: Int var mark2: Int var mark3: Int init(mark1: Int, mark2: Int, mark3: Int){ self.mark1 = mark1 self.mark2 = mark2 self.mark3 = mark3 } } print("优异成绩:") var marks = markStruct(mark1: 98, mark2: 96, mark3:100) print(marks.mark1) print(marks.mark2) print(marks.mark3) print("糟糕成绩:") var fail = markStruct(mark1: 34, mark2: 42, mark3: 13) print(fail.mark1) print(fail.mark2) print(fail.mark3)
Die obige Programmausführung Ausgabe ist:
优异成绩: 98 96 100 糟糕成绩: 34 42 13
Das obige Beispiel definieren wir die Struktur markStruct, drei Mitglieder der Immobilie: mark1, mark2 und mark3. Struktur in vivo unter Verwendung von Elementeigenschaften Verwenden Sie den Selbst Schlüsselwort.
Aus den Beispielen können wir gut verstehen, die Strukturinstanz als Wert übergeben wird.