Мне нужно вернуть интерфейс. Но я получаю ошибку:
cannot use B literal (type B) as type K in return argument:
B does not implement K (missing Check method)
Я думал, что когда я встраиваю тип, я получил все методы внутреннего типа, а также тип интерфейса
package main
import (
"fmt"
)
type K interface {
Check()
}
type A struct {
A string
}
type B struct {
B A
}
func (a A) Check() {
fmt.Println(a.A)
}
func newB(a A) K {
return B{B: a}
}
func main() {
a := A{A: "A struct"}
b := newB(a)
b.Check()
}
, как решить эту проблему?