【发布时间】:2021-12-17 07:09:02
【问题描述】:
我是学习 Go 的新手,并且有一个关于定义可能是两种类型之一的参数的问题。 拿下代码:
type Thing struct {
a int
b int
c string
d string
}
type OtherThing struct {
e int
f int
c string
d string
}
func doSomething(t Thing/OtherThing) error {
fmt.println(t.d)
return nil
}
由于结构没有功能,我目前无法为它们编写接口。 那么这里的 Go 惯用的事情是什么?是否只是将随机函数附加到结构并编写接口或其他内容?
感谢您的帮助...
【问题讨论】:
-
可以键入空界面。
type Thingie interface{} -
另外,如果
domeSomething()真的只对t.d感兴趣,您可以嵌入(查找)一个通用类型到Thing和OtherThing中只有字段d string。