在这里,我想将枚举从类型转换为类型,因为它们是字符串,因此我无法直接将指针值分配给枚举。我试图将值分配给临时变量Day*Mappingsvar id = MON
*r = id但这不起作用,我希望将其分配给指针,以便我可以为该类型提供nil值。我无法更改结构或结构类型。如何将值分配给接收器而不遇到指针问题?游乐场链接: https://play.golang.org/p/5SNx0I-Prc2DayMappings*rpackage maintype Day stringconst ( SUNDAY Day = "" MONDAY Day = "MONDAY" TUESDAY Day = "TUESDAY")type Mappings stringconst ( SUN Mappings = "" MON Mappings = "MON" TUE Mappings = "TUE")func main() { type A struct { day Day } type B struct { day *Mappings } sourceObj := A{day: MONDAY} destObj := B{} destObj.day.To(sourceObj.day)}func (r *Mappings) To(m Day) { switch m { case MONDAY: *r = MON case TUESDAY: *r = TUE }}
1 回答

料青山看我应如是
TA贡献1772条经验 获得超8个赞
destObj.day
将是 .因此,并且将成为运行时异常。通过使用关键字为 分配空间。例:nil
*r
*destObj.day
destObj.day
new
destObj := B{new(Mappings)}
- 1 回答
- 0 关注
- 170 浏览
添加回答
举报
0/150
提交
取消