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 == və != 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.