Sobes.tech
Junior — Middle

Go dilində hansı ümumi proqramlaşdırma növləri mövcuddur?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində ümumi proqramlaşdırma generiklər vasitəsilə həyata keçirilir və bu, versiya 1.18-dən başlayaraq mövcuddur. Go-da əsas generik növlər aşağıdakılardır:

  • Parametrik növlər (generik növlər): funksiyalar və növlər tiplər parametrlərini qəbul edə bilər, bu da ümumi kod yazmağa imkan verir.
  • Məhdudiyyətləri olan interfeyslər (növ məhdudiyyətləri): parametrlər növlərinə tələblər qoyur, məsələn, növ müəyyən metodları dəstəkləməli və ya xüsusi növ qrupuna aid olmalıdır.

Slice üçün nümunəvi generik funksiya:

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

Burada, T comparable interfeysi ilə məhdudlaşdırılmış tiplə parametrdir və == operatorundan istifadə etməyə imkan verir. Bu funksiya hər hansı müqayisə edilə bilən tiplər üçün ümumidir.

Beləliklə, Go tiplərin parametrizasiyası və məhdudiyyətlər vasitəsilə generikləri dəstəkləyir, bu da kodun çevikliyini və təkrar istifadə imkanlarını artırır.