Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试使用CGo为ENet编写一个 Go包装器。
当我尝试在 Mac 上编译包装器时,库较旧并且界面略有不同。99% 的代码是相同的,只是需要更改几个 C 调用。
在 Go 中处理此类问题的最佳实践是什么? 有没有办法进行条件编译或条件导入?
将特定于平台的东西分离到一个单独的文件中,例如 stuff.go
现在将 stuff.go 替换为不同平台的版本,例如 stuff_darwin.go(适用于 Mac)、stuff_windows.go、stuff_linux.go 等。
如果一个文件有这样的后缀,go 命令将只在指定的平台上编译它。
Go 没有条件编译或条件导入。处理 C 代码中的类型差异。
[Go] 作者是否反对预处理?