Junior — Middle
Ar struktūra Go kalboje gali įgyvendinti sąsają ir kaip tai padaryti?
sobes.tech AI
Atsakymas iš AI
Taip, Go kalboje struktūra gali įgyvendinti sąsają. Tam struktūra turi turėti visas sąsajoje deklaruotas metodus. Go kalboje sąsajos įgyvendinimas nereikalauja aiškios deklaracijos — jei struktūra turi būtinus metodus, ji automatiškai laikoma, kad įgyvendina sąsają.
Pavyzdys:
package main
import "fmt"
type Speaker interface {
Speak() string
}
type Person struct {
Name string
}
func (p Person) Speak() string {
return "Labas, mano vardas " + p.Name
}
func main() {
var s Speaker = Person{Name: "Ivan"}
fmt.Println(s.Speak())
}
Šiame pavyzdyje, Person įgyvendina Speaker sąsają, nes turi Speak() metodą su reikiama parašu.