我正在使用第三方函数,其泛型类型为any
. 该函数返回一个传递给它的类型的对象,而我自己的代码则针对该返回的东西起作用。
我正在尝试编写自己的泛型函数,该函数接受 type 的泛型HasID
,然后将其传递给第三方函数。但是,当我尝试访问ID
第三方函数的返回值字段时,出现错误。
我需要做什么才能正确输入此内容?
type HasID struct {
ID string `json:"id"`
}
func ThirdPartyFunc[T any]() T {
// do some stuff
return someThing // of type T
}
func MyFunc[U HasID]() {
thingWithID := ThirdPartyFunc[U]()
fmt.Println(thingWithID.ID) // undefined (type U has no field or method ID)
}