【发布时间】:2021-10-11 20:38:18
【问题描述】:
假设我有不同类型的映射,其中包括布尔值和指针,并希望以单一方式将它们传递给某个函数:
type Blah struct {
name string
}
var mapBlah map[string]*Blah = make(map[string]*Blah)
var mapBool map[string]bool = make(map[string]bool)
func joinKeys(m map[string]interface{}) string {
// returns strings.Join(keys of map)
}
我似乎无法将这些映射传递给这个函数 (example)。如何正确完成,或 如果我遗漏了什么,为什么不能完成?
【问题讨论】:
-
你可以做的是
joinKeys(m interface{}) -
那我应该在函数内部做什么呢?各种地图的切换?
-
是的,这里是example如何使用反射来处理或类型开关。
-
是的,我目前正在使用反射方法,但想知道我是否遗漏了一些更直接的方法。遗憾的是,在这种情况下,类型切换方法看起来不太好:)
标签: go