Junior — Middle
Go'da tuzilma interfeysni amalga oshira oladimi va qanday qilish kerak?
sobes.tech AI
AIdan javob
Ha, Go tilida tuzilma interfeysni amalga oshirishi mumkin. Buning uchun tuzilma interfeysda e'lon qilingan barcha metodlarga ega bo'lishi kerak. Go'da interfeysni amalga oshirish uchun aniq e'lon qilish shart emas — agar tuzilma kerakli metodlarni o'z ichiga olsa, u avtomatik ravishda interfeysni amalga oshiradi.
Misol:
package main
import "fmt"
type Speaker interface {
Speak() string
}
type Person struct {
Name string
}
func (p Person) Speak() string {
return "Salom, mening ismim " + p.Name
}
func main() {
var s Speaker = Person{Name: "Ivan"}
fmt.Println(s.Speak())
}
Bu misolda, Person Speaker interfeysini amalga oshiradi, chunki u Speak() metodiga ega va kerakli imzoga ega.