Sobes.tech
Junior — Middle

Müəyyən bir strukturun verilmiş interfeysə uyğun olub-olmadığını necə müəyyən etmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində, interfeysin tətbiqi qeyri-rəsmi şəkildə yoxlanılır: əgər bir növ interfeysdə elan olunan bütün metodları ehtiva edirsə, o avtomatik olaraq həmin interfeysi tətbiq edir.

Bir strukturun verilmiş interfeysi tətbiq etdiyini müəyyən etmək üçün:

  1. Struktur nümunəsini interfeys tipli dəyişənə təyin etməyə çalışın — əgər tərtib uğurlu olarsa, bu, strukturun interfeysi tətbiq etdiyini göstərir.
  2. _var _ ilə statik yoxlama istifadə edin:
var _ MyInterface = (*MyStruct)(nil)

Əgər bu kod səhvsiz tərtib olunursa, bu, MyStruct-in MyInterface interfeysini tətbiq etdiyini göstərir.

Nümunə:

type MyInterface interface {
    DoSomething()
}

type MyStruct struct {}

func (m *MyStruct) DoSomething() {
    // tətbiq
}

// Interfeysin tətbiqini yoxlamaq
var _ MyInterface = (*MyStruct)(nil)

Beləliklə, Go-da interfeysi açıq şəkildə göstərməyə ehtiyac yoxdur — bütün metodlarını tətbiq etmək kifayətdir.