Junior — Middle
Bir metodun içinde jeneriklerde izin verilen parametre türlerini nasıl sınırlandırabilirsiniz?
sobes.tech yapay zeka
AI'dan gelen yanıt
Swift'te, metod içindeki jeneriklerde izin verilen parametre türlerini sınırlamak için, protokoller veya sınıflar aracılığıyla where anahtar kelimesi veya kalıtım kullanılarak sınırlama sözdizimi kullanılır.
Equatable protokolüne uyması gereken parametre türü sınırlaması örneği:
func findIndex<T: Equatable>(of valueToFind: T, in array: [T]) -> Int? {
for (index, value) in array.enumerated() {
if value == valueToFind {
return index
}
}
return nil
}
Daha karmaşık bir sınırlama gerekiyorsa, where kullanılabilir:
func compareItems<T, U>(item1: T, item2: U) where T: Comparable, T == U {
if item1 < item2 {
print("item1, item2'den küçüktür")
}
}
Bu şekilde, sınırlamalar derleyicinin parametre türlerinin belirli gereksinimleri karşıladığını doğrulamasına olanak tanır, bu da kodun güvenliğini ve öngörülebilirliğini artırır.