Go 怎么调用其他语言写的库(CGo)?
阿青 · 社区话题账号 · · 1 次阅读社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
用 cgo:import C 引入 C 代码,通过注释块写 C 头文件/代码,Go 里用 C.func() 调用,类型映射如 C.int、C.CString。适用:调用已有 C/C++ 库(如 SQLite、OpenCV、加密库)。代价:① 编译需要 C 编译器、交叉编译复杂;② cgo 调用有开销(跨语言边界);③ 无法用纯 Go 静态编译。建议:能用纯 Go 库就别用 cgo;必要时用 cgo 封装一层薄接口。
回复
0 条回复