这是一个代码块。
p, err := plugin.Open(filename)
if err != nil {
log.Fatalf("cannot load plugin %v", filename)
}
xmapf, err := p.Lookup("Map")
if err != nil {
log.Fatalf("cannot find Map in %v", filename)
}
mapf := xmapf.(func(string, string) []mr.KeyValue)
我知道这段代码是加载一个插件并Map在其中找到一个函数。但我对此感到困惑xmapf.(func(string, string) []mr.KeyValue)。是什么类型的xmapf?golang 文档说它是一个Symbol, A Symbol 是一个指向变量或函数的指针。如果我对 的类型是正确的xmapf,为什么要func_pointer.(signature)返回一个函数?
万千封印
相关分类