我有两种结构类型
type type1 struct {
a1,b1,c1 string
}
type type2 struct {
a2,b2 string
}
如果条件为真,则想要更改变量p的类型。我应该如何在Go中做到这一点?以下不起作用。我认为问题' Golang:不同结构类型之间的转换是否可能?' 没有解决这种情况,因为我收到错误"无法转换p ..不能在赋值时将type2用作type1 ... struct initializer中的值太多"
var p type1
if <condition> {
p = type2(p)
p = type2{"1","2"}
}
答案 0 :(得分:1)
不可能。
根据我对go类型系统的蹩脚理解, p 是 type1 ,句号。在 if 条件之后,编译器如何知道 p 的类型是什么?您可以做的最好是分配字段。