Junior — Middle
როგორ შეიძლება დადგინდეს, რომ გარკვეული სტრუქტურა ახორციელებს მოცემულ ინტერფეისს?
sobes.tech AI
პასუხი AI-სგან
Go ენაში ინტერფეისის განხორციელება უხილავად ხდება: თუ ტიპი შეიცავს ყველა მეთოდს, რომელიც ინტერფეისშია დეკლარირებული, ის ავტომატურად ახორციელებს ამ ინტერფეისს.
განსაზღვრებისთვის, თუ სტრუქტურა ახორციელებს მოცემულ ინტერფეისს, შეგიძლიათ:
- სცადოთ სტრუქტურის მაგალითის გადაცემა ინტერფეისის ტიპის ცვლადზე — თუ კოდი წარმატებით გადაიყვანეს, ეს ნიშნავს, რომ სტრუქტურა ახორციელებს ინტერფეისს.
- გამოიყენეთ სტატიკური შემოწმება _var _-ის საშუალებით:
var _ MyInterface = (*MyStruct)(nil)
თუ ეს კოდი კომპილირდება შეცდომების გარეშე, ეს ნიშნავს, რომ MyStruct ახორციელებს MyInterface ინტერფეისს.
მაგალითი:
type MyInterface interface {
DoSomething()
}
type MyStruct struct {}
func (m *MyStruct) DoSomething() {
// განხორციელება
}
// ინტერფეისის განხორციელების შემოწმება
var _ MyInterface = (*MyStruct)(nil)
ამ გზით, Go-ში არ არის საჭირო ინტერფეისის მკაფიო მითითება — საკმარისია მისი ყველა მეთოდის განხორციელება.