Junior — Middle
Go-da struktur interfeys tətbiq edə bilərmi və necə etmək olar?
sobes.tech Süni İntellekt
AI-dan cavab
Bəli, Go dilində struktur interfeys həyata keçirə bilər. Bunun üçün struktur interfeysdə elan olunan bütün metodlara malik olmalıdır. Go-da interfeysi həyata keçirmə, açıq şəkildə bildirilmir — əgər struktur lazım olan metodları ehtiva edirsə, avtomatik olaraq interfeysi həyata keçirir.
Nümunə:
package main
import "fmt"
type Speaker interface {
Speak() string
}
type Person struct {
Name string
}
func (p Person) Speak() string {
return "Salam, mənim adım " + p.Name
}
func main() {
var s Speaker = Person{Name: "Ivan"}
fmt.Println(s.Speak())
}
Bu nümunədə, Person Speaker interfeysini həyata keçirir, çünki onun Speak() metodu və lazım olan imzaya malikdir.