在Go中更改结构类型

时间:2017-01-22 20:06:54

标签: go type-conversion

我有两种结构类型

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"}
    } 

1 个答案:

答案 0 :(得分:1)

不可能。

根据我对go类型系统的蹩脚理解, p type1 ,句号。在 if 条件之后,编译器如何知道 p 的类型是什么?您可以做的最好是分配字段。