在這里,我想將枚舉從類型轉換為類型,因為它們是字符串,因此我無法直接將指針值分配給枚舉。我試圖將值分配給臨時變量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 關注
- 191 瀏覽
添加回答
舉報
0/150
提交
取消