Sobes.tech
Junior — Middle

Go dilinde hangi genel programlama türleri mevcuttur?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go dilinde genel programlama, 1.18 sürümünden itibaren ortaya çıkan jenerikler aracılığıyla gerçekleştirilir. Go'daki temel jenerik türler şunlardır:

  • Parametreli türler (jenerik türler): fonksiyonlar ve türler, genel kod yazmayı sağlayan parametreler alabilir.
  • Kısıtlamalara sahip arayüzler (tür kısıtlamaları): parametre türleri için gereksinimler belirler, örneğin, türün belirli metodları desteklemesi veya belirli türler kümesine ait olması gibi.

Bir dilim için jenerik bir fonksiyon örneği:

func IndexOf[T comparable](slice []T, val T) int {
    for i, v := range slice {
        if v == val {
            return i
        }
    }
    return -1
}

Burada, T bir comparable arayüzü ile sınırlandırılmış tür parametresidir, bu da == operatörünün kullanılmasına izin verir. Bu fonksiyon, karşılaştırılabilir tüm türler için evrenseldir.

Bu şekilde, Go, tür parametreleri ve kısıtlamalar aracılığıyla jenerikleri destekler, bu da kodun esnekliğini ve yeniden kullanılabilirliğini artırır.