Sobes.tech
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() მეთოდი საჭირო ხელმოწერით.