Junior
Dəyər tipləri nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Swift-də dəyər növləri — bu növlərdir ki, onların nümunələri təyin edilərkən və ya funksiyaya ötürülərkən kopyalanır. Hər müstəqil nüsxənin öz yaddaşı var.
Nümunələr:
- Structs
- Enums
- Tuples
- Integer, Float, Double, Bool, String, Array, Dictionary, Set
struct Point {
var x: Int
var y: Int
}
var p1 = Point(x: 1, y: 2)
var p2 = p1 // Dəyərin kopyası
p2.x = 10 // Kopyanı dəyişirik, p1 dəyişmir
print(p1.x) // Çıxış: 1
print(p2.x) // Çıxış: 10
Üstünlüklər:
- Proqnozlaşdırıla bilən davranış, çünki kodun bir hissəsindəki dəyişikliklər digər nüsxələri təsir etmir.
- Yerli dəyərlərlə işləyərkən standart təhlükəsizlik.
Çatışmazlıqlar:
- Böyük strukturlar üçün kopyalama maliyyətli ola bilər.
İstinad tipləri ilə müqayisədə:
| Xüsusiyyət | Dəyər tipi | İstinad tipi |
|---|---|---|
| Təyin | Dəyərin kopyalanması | İstinadın kopyalanması |
| Dəyişiklik | Kopyanı dəyişir | Orijinal obyekti dəyişir |
| Nümunə | struct, enum, tuple, əsas tiplər | class, closure |