我怎样才能用另一个结构的字段创建一个结构
struct box {
x int
y int
}
struct textbox {
BOXVALUES
text string
}
最佳答案
Go 没有像 Java 那样的继承概念,您可以说 textbox 是 box 的子项,因此继承了它的字段。
所以你可以这样做: 类型框结构{ x整数 整数
type textbox struct {
box
text string
}
通过指定不带结构字段名称的 box
类型,您可以复制 box
结构中定义的字段 int textbox
。然而,在构造过程中,您仍然必须显式地将 box
字段初始化为:
t := textbox {
box: box{
x: 1,
y: 2,
},
text: "aoeu",
}
但是您不再需要在 textbox
中引用 box
进行访问,例如:
println(t.x)
Go 在这方面有点奇怪,因为 struct
不是一个对象,所以 textbox
实际上不是从 box
继承的,而是拥有它用一些语法糖复制到其中以便访问。
关于go - 创建包含另一个结构字段的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44005937/