let val = (Double)6
Referenz: The Swift Programming Language: Sprachführer: Die Grundlagen: Konstanten und Variablen
let x = 5
guard x == 5 { return }
guard fehlt das else guard fehlt ein then Referenz: The Swift Programming Language: Sprachführer: Kontrollfluss: Früher Ausstieg
enum Direction {
case north, south, east, west
}
String Any Int Referenz: The Swift Programming Language: Sprachführer: Aufzählungen: Rohwerte
Referenz: Apple Developer: Dokumentation: Dispatch: Dispatch-Gruppe
let val = 5
print("Wert ist: \(val)")
Referenz: The Swift Programming Language: Sprachführer: Zeichenketten und Zeichen: Zeichenketteninterpolation
vals, nachdem dieser Code ausgeführt wurde?var vals = [10, 2]
vals.sort { (s1, s2) -> Bool in
s1 > s2
}
[10, 2] [2, 10] nil Referenz: Apple Developer: Dokumentationen: Swift: Array: sort()
typealias Thing = [String: Any]
var stuff: Thing
print(type(of: stuff))
Dictionary<String, Any> Dictionary Error Thing Referenz: The Swift Programming Language: Sprachreferenz: Typen: Typbezeichner
let x = ["1", "2"].dropFirst()
let y = x[0]
1 2 nil Erklärung
dropFirst() von Swift.Collection.Array gibt einen Typ von ArraySlice<Element> zurück.
Wie auf den Dokumentationsseiten angegeben:
@inlinable public func dropFirst(_ k: Int = 1) -> ArraySlice<Element>
Der ArraySlice-Typ ermöglicht es Ihnen, schnell und effizient Operationen auf Abschnitten eines größeren Arrays durchzuführen. Anstatt die Elemente eines Ausschnitts in einen neuen Speicher zu kopieren, präsentiert eine ArraySlice-Instanz eine Ansicht auf den Speicher eines größeren Arrays. Und weil ArraySlice dieselbe Schnittstelle wie Array präsentiert, können Sie im Allgemeinen dieselben Operationen auf einem Ausschnitt ausführen wie auf dem ursprünglichen Array.
Slices behalten Indizes bei
Anders als Array und ContiguousArray ist der Startindex für eine ArraySlice-Instanz nicht immer Null. Slices behalten die gleichen Indizes des größeren Arrays für dieselben Elemente bei, sodass der Startindex eines Ausschnitts davon abhängt, wie er erstellt wurde, und es Ihnen ermöglicht, indexbasierte Operationen entweder auf einem vollständigen Array oder einem Ausschnitt auszuführen.
Der obige Code gibt einen Ausschnitt des Werts ["2"] zurück, aber der Index hat sich nicht geändert. let y = x[1] würde das erwartete Ergebnis liefern.
Um sicher auf die Start- und Endindizes eines Ausschnitts zu verweisen, verwenden Sie immer die Eigenschaften startIndex und endIndex anstelle spezifischer Werte.
Referenz
var test = 1 == 1
true JA 1 Referenz: The Swift Programming Language: Sprachführer: Grundlegende Operatoren: Vergleichsoperatoren
var x: Int?
let y = x ?? 5
5 0 nil Referenz: The Swift Programming Language: Sprachführer: Grundlegende Operatoren: Nil-Coalescing-Operatoren
func add(a: Int, b: Int) -> Int { return a+b }
Int , Int) -> Int`
Int<Optional> Referenz: The Swift Programming Language: Sprachführer: Funktionen: Funktionsarten
func myFunc(_ a: Int, b: Int) -> Int {
return a + b
}
myFunc(5, b: 6) myFunc(5, 6) myFunc(a: 5, b: 6) myFunc(a, b) Encodable und Decodable Referenzen:
let value1 = "\("test".count)"
String Int null test.count Referenz: The Swift Programming Language: Sprachführer: Zeichenketten und Zeichen: Zeichenketteninterpolation
Referenz: The Swift Programming Language: Sprachführer: Closures: Entkommende Closures
class Person {
var name: String
var address: String
}
var name ist nicht korrekt formatiert. address ist ein Schlüsselwort. Referenz: The Swift Programming Language: Sprachführer: Initialisierung: Klassenvererbung und Initialisierung
let names = ["Bear", "Joe", "Clark"]
names.map { (s) -> String in
return s.uppercased()
}
["BEAR", "JOE", "CLARK"] ["B", "J", "C"] ["Bear", "Joe", "Clark"] let val = 5
Int item Number Int Referenz: The Swift Programming Language: Sprachführer: Die Grundlagen: Typsicherheit und Typinferenz
extension String {
var firstLetter: Character = "c" {
didSet {
print("neuer Wert")
}
}
}
didSet nimmt einen Parameter. c ist kein Zeichen. Referenz: The Swift Programming Language: Sprachführer: Erweiterungen: Berechnete Eigenschaften
neuAlt Wertaufrufe Referenz: The Swift Programming Language: Sprachführer: Eigenschaften