Junior — Middle
შეგვიძლია თუ არა სტრუქტურამ Go-ში ინტერფეისი განახორციელოს და როგორ?
sobes.tech AI
პასუხი AI-სგან
დიახ, Go ენის სტრუქტურა შეუძლია ინტერფეისის განხორციელება. ამისთვის, სტრუქტურამ უნდა ჰქონდეს ყველა მეთოდი, რომელიც ინტერფეისშია გამოცხადებული. Go-ში ინტერფეისის განხორციელება არ საჭიროებს გამოთქმულ განცხადებას — თუ სტრუქტურაშია საჭირო მეთოდები, ის ავტომატურად ითვლება რომ ის ახორციელებს ინტერფეისს.
მაგალითი:
package main
import "fmt"
type Speaker interface {
Speak() string
}
type Person struct {
Name string
}
func (p Person) Speak() string {
return "გამარჯობა, ჩემი სახელია " + p.Name
}
func main() {
var s Speaker = Person{Name: "Ivan"}
fmt.Println(s.Speak())
}
ამ მაგალითში, Person ახორციელებს Speaker ინტერფეისს, რადგან მას აქვს Speak() მეთოდი საჭირო ხელმოწერით.