Pourquoi choisir une structure (struct) plutôt qu'une classe (class) en Swift ?
Bonjour à tous ! Je viens de commencer à apprendre Swift et une question me taraude. Je vois qu'en Swift il y a à la fois des classes (class) et des structures (struct). À première vue, elles se ressemblent beaucoup : on peut créer des propriétés, des méthodes, des initialiseurs dans les deux. Mais partout on écrit que les structures sont des "value types" (types-valeurs) et les classes des "reference types" (types références). Je ne comprends pas complètement ce que cela signifie en pratique.
J'ai écrit un exemple simple. J'ai créé une classe `CarClass` et une structure `CarStruct` avec une propriété `model`. Ensuite, j'ai assigné l'instance de la classe à une nouvelle variable et j'ai modifié le modèle dans la "copie". Le modèle a changé aussi dans l'objet original ! Avec la structure, cela ne s'est pas produit. Voici le code :
```swift
class CarClass {
var model = "Tesla"
}
struct CarStruct {
var model = "Tesla"
}
let car1 = CarClass()
let car2 = car1 // Ce n'est pas une copie, mais une référence au même objet
car2.model = "BMW"
print(car1.model) // Affiche "BMW" — l'original a changé !
let structCar1 = CarStruct()
var structCar2 = structCar1