let val = (Double)6
Référence: The Swift Programming Language: Guide du langage: Les bases: Constantes et variables
let x = 5
guard x == 5 { return }
guard manque le else guard manque un then Référence: The Swift Programming Language: Guide du langage: Flux de contrôle: Sortie anticipée
enum Direction {
case north, south, east, west
}
String Any Int Référence: The Swift Programming Language: Guide du langage: Énumérations: Valeurs brutes
Référence: Apple Developer: Documentation: Dispatch: Dispatch Group
let val = 5
print("la valeur est: \(val)")
Référence: The Swift Programming Language: Guide du langage: Chaînes et caractères: Interpolation de chaînes
vals après l'exécution de ce code?var vals = [10, 2]
vals.sort { (s1, s2) -> Bool in
s1 > s2
}
[10, 2] [2, 10] nil Référence: Apple Developer: Documentation: Swift: Array: sort()
typealias Thing = [String: Any]
var stuff: Thing
print(type(of: stuff))
Dictionnaire<String, Any> Dictionnaire Erreur Chose Référence: The Swift Programming Language: Référence du langage: Types: Identifiant de type
let x = ["1", "2"].dropFirst()
let y = x[0]
1 2 nil explication
dropFirst() de Swift.Collection.Array renvoie un type de ArraySlice<Element>
comme dans les pages de documentation:
@inlinable public func dropFirst(_ k: Int = 1) -> ArraySlice<Element>
Le type ArraySlice permet de réaliser rapidement et efficacement des opérations sur des sections d'un tableau plus grand. Au lieu de copier les éléments d'une tranche dans un nouveau stockage, une instance de ArraySlice présente une vue sur le stockage d'un tableau plus grand. Et parce que ArraySlice présente la même interface que Array, vous pouvez généralement effectuer les mêmes opérations sur une tranche que sur le tableau d'origine.
Les tranches conservent les mêmes indices que le tableau plus grand pour les mêmes éléments, donc l'indice de départ d'une tranche dépend de la façon dont elle a été créée, vous permettant d'effectuer des opérations basées sur l'indice sur un tableau complet ou une tranche.
Le code ci-dessus renvoie une tranche de valeur ["2"] mais l'index n'a pas changé. let y = x[1] donnerait le résultat attendu.
Pour faire référence en toute sécurité aux indices de début et de fin d'une tranche, utilisez toujours les propriétés startIndex et endIndex au lieu de valeurs spécifiques.
Référence
var test = 1 == 1
true OUI 1 Référence: The Swift Programming Language: Guide du langage: Opérateurs de base: Opérateurs de comparaison
var x: Int?
let y = x ?? 5
5 0 nil func add(a: Int, b: Int) -> Int { return a+b }
Int (Int, Int) -> Int Int<Optional> Référence: [_The Swift Programming Language: Guide du langage: Fon
ctions: Types de fonction_](https://docs.swift.org/swift-book/LanguageGuide/Functions.html#ID174)
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 et Decodable Références:
let value1 = "\("test".count)"
String Int nul test.count Référence: The Swift Programming Language: Guide du langage: Chaînes et caractères: Interpolation de chaînes
Référence: The Swift Programming Language: Guide du langage: Fermetures: Fermetures échappantes
class Person {
var name: String
var address: String
}
var name n'est pas formaté correctement. address est un mot-clé. 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 Nombre Int extension String {
var firstLetter: Character = "c" {
didSet {
print("nouvelle valeur")
}
}
}
didSet prend un paramètre. c n'est pas un caractère. Référence: The Swift Programming Language: Guide du langage: Extensions: Propriétés calculées
nouvellesAnciennes appellent Référence: The Swift Programming Language: Guide du langage: Propriétés