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