這是一個(gè)代碼塊。 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)我知道這段代碼是加載一個(gè)插件并Map在其中找到一個(gè)函數(shù)。但我對(duì)此感到困惑xmapf.(func(string, string) []mr.KeyValue)。是什么類型的xmapf?golang 文檔說(shuō)它是一個(gè)Symbol, A Symbol 是一個(gè)指向變量或函數(shù)的指針。如果我對(duì) 的類型是正確的xmapf,為什么要func_pointer.(signature)返回一個(gè)函數(shù)?
插件包中的 Lookup 返回什么?
桃花長(zhǎng)相依
2022-06-21 10:48:19