我正在嘗試將我的地圖鍵映射到一個切片中。我發現這個解決方案似乎效果很好。
func main() {
newMap := map[string]bool{
"a": true,
"b": true,
"c": true,
}
mappedToSlice := reflect.ValueOf(newMap).MapKeys()
var convertToSliceString []string
_ = convertToSliceString
}
這reflect.ValueOf(newMap).MapKeys()似乎正在將鍵映射到切片。但是,問題是它回傳一個型別為[]reflect.Value. 同時,我想將它存盤在一種型別[]string(或任何其他切片型別)中,就像在convertToSliceString變數上一樣。
有什么辦法嗎?我嘗試過使用interface并尋找其他方法,但似乎沒有人能夠轉換它。
uj5u.com熱心網友回復:
使用 for 回圈將值字串分配給切片:
mappedToSlice := reflect.ValueOf(newMap).MapKeys()
convertToSliceString := make([]string, len(mappedToSlice))
for i, v := range mappedToSlice {
convertToSliceString[i] = v.Interface().(string)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/512037.html
標籤:去
上一篇:強制解組為interface{}而不是map[string]interface{}
下一篇:如何斷言地圖包含密鑰?
