更改Go中的结构类型

更改Go中的结构类型,go,type-conversion,Go,Type Conversion,我有两种结构类型 type type1 struct { a1,b1,c1 string } type type2 struct { a2,b2 string } 如果条件为真,则希望更改变量p的类型。在围棋中我该怎么做?下面的代码不起作用。我想问题是,“Golang:不同结构类型之间可以转换吗?”没有解决这个问题,因为我遇到了错误“无法转换p..无法在赋值中使用type2作为type1…结构初始值设定项中的值太多” var p type1 如果{ p=类型2(p) p=type2{“1”,“

我有两种结构类型

type type1 struct {
a1,b1,c1 string
}
type type2 struct {
a2,b2 string
}
如果条件为真,则希望更改变量p的类型。在围棋中我该怎么做?下面的代码不起作用。我想问题是,“Golang:不同结构类型之间可以转换吗?”没有解决这个问题,因为我遇到了错误“无法转换p..无法在赋值中使用type2作为type1…结构初始值设定项中的值太多”

var p type1
如果{
p=类型2(p)
p=type2{“1”,“2”}
} 
不可能


根据我对go类型系统的理解,p是类型1,周期。编译器如何知道在if条件之后p是什么类型?你所能做的就是分配字段。

的可能重复项。现在不是重复项,不能将type1与Type2分配根据我对go type系统的理解,p是type1,句号。编译器如何知道在if条件之后p是什么类型?你所能做的就是分配字段。你所说的有道理。没有考虑过。那么我把它转换成一个实际的答案。
var p type1

    if <condition> {
        p = type2(p)
        p = type2{"1","2"}
    }