遍历接口映射的值可以通过以下代码示例解决:
package main
import "fmt"
type MyInterface interface {
GetName() string
}
type Person struct {
Name string
}
func (p Person) GetName() string {
return p.Name
}
type Animal struct {
Name string
}
func (a Animal) GetName() string {
return a.Name
}
func main() {
myMap := make(map[string]MyInterface)
myMap["person"] = Person{Name: "John"}
myMap["animal"] = Animal{Name: "Dog"}
// 遍历接口映射的值
for _, value := range myMap {
fmt.Println(value.GetName())
}
}
输出结果:
John
Dog
在上述示例中,定义了一个 MyInterface 接口,接口包含一个 GetName() 方法。然后,通过实现 GetName() 方法的 Person 和 Animal 结构体来实现 MyInterface 接口。
创建一个 map 类型的变量 myMap,键的类型是 string,值的类型是 MyInterface 接口。
通过将 Person 和 Animal 结构体的实例分别赋值给 myMap 的键 "person" 和 "animal"。
然后,使用 for range 循环遍历 myMap 的值,通过调用 GetName() 方法,打印出每个值的名称。
这样就可以遍历接口映射的值,并根据实际需求进行处理。
上一篇:遍历接口实现的元素
下一篇:遍历接收到的JSON对象列表