问题:Ubuntu 上的 Swift 系统版本检查

我知道 Swift 有检查操作系统的预处理指令:

#if os(iOS)
    ...
#elseif os(OSX)
    ...
#endif

但是,在网上搜索之后,我发现没有什么可以检查操作系统是 Ubuntu。有没有办法做到这一点?我知道 swift 最近才开始在 Ubuntu 上工作,所以我意识到在撰写本文时可能还没有办法。

解答

在 Swift 中,#if ... #endif不是预处理器语句,而是包含一个“条件编译块”。os()平台条件的有效参数(当前)记录为

macOS, iOS, watchOS, tvOS, Linux

因此#if os(Linux)检查 Linux 平台。一个典型的例子是

#if os(Linux)
import Glibc
#else
import Darwin
#endif

在 Linux 和 Apple 平台上从 C 库导入函数。

Logo

Ubuntu 社区为您提供最前沿的新闻资讯和知识内容

更多推荐