我想用 Go 编写一个简单的实用程序来管理 Linux 上的网络(有线和无线)连接,类似于 NetworkManager 和 WICD 的软件。
在 Go 中访问 Linux API 的正确方法是什么?我应该使用 C 绑定(bind)和 native Linux API 调用、执行命令并解析其输出,还是可能有一些库旨在执行我想执行的操作?
最佳答案
您很可能想使用 cgo因为调用任何 C API 真的很容易
一个额外的好处是,随着时间的推移,C API 通常非常稳定,因为库创建者几乎总是选择新函数而不是破坏现有函数的 API。
运行命令行工具和解析输出很容易出错,因为您调用的软件很可能会超时更改它的输出,从而破坏您的解析器。
关于linux - 从 Go 访问 Linux 网络 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30997778/