遍历接口映射的值可以通过以下代码示例解决:
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对象列表