Sobes.tech
Junior — Middle

Comparable interfeysinin nə olduğunu və necə istifadə olunduğunu izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində, Comparable adlı ayrıca standart interfeys mövcud deyil, lakin dil daxilində müqayisə etmək üçün ==!= operatorlarından istifadə etmə imkanı var, bu operatorlar müqayisə dəstəkləyən tiplər üçün keçərlidir.

Ancaq, obyektləri müqayisə etmək üçün metod təyin edən interfeys haqqında danışırıqsa, adətən xüsusi istifadəçi interfeysi yaradılır, məsələn:

// Comparable interfeysi Compare metodu ilə
// Əgər cari obyekt digərindən kiçikdirsə, mənfi ədəd qaytarır,
// bərabərdirsə 0, və böyükdürsə müsbət ədəd.
type Comparable interface {
    Compare(other interface{}) int
}

Belə bir interfeys, müxtəlif tiplərdə obyektlərin sıralanması və ya müqayisəsi üçün imkan yaradır.

İstifadə nümunəsi:

type IntWrapper int

func (a IntWrapper) Compare(b interface{}) int {
    other := b.(IntWrapper)
    if a < other {
        return -1
    } else if a > other {
        return 1
    }
    return 0
}

Beləliklə, Comparable interfeysi, obyektlərin bir-biri ilə sıralanması və ya müqayisəsi üçün müqayisə metodunun həyata keçirilməsini tələb edən müqavilədir.