有没有办法将 TagLib::PropertyMap 传递给 Go?

Is there a way to pass a TagLib::PropertyMap to Go?

我正在尝试将 TagLib::PropertyMap 中的值导入 Go。我已经看到一些通过循环 k/v 对来获取值的方法,但这是最有效的方法吗?我不应该只能够从 C++ return PropertyMap 转换为 map[string] 字符串吗?

Shouldn't I just be able to return PropertyMap from C++ and cast to a map[string]string?

不,当然不是:

  1. Go 中没有类型转换,只有类型转换。

  2. C++的PropertyMap类型和Go的map类型完全不同,无法进行类型转换

  3. 即使你能类型转换映射类型:C++和Go的字符串类型完全不同。