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() մեթոդը անհրաժեշտ ստորագրությամբ։