Sobes.tech
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.