Swift 终端中有 3 个编译器

Swift 3 compiler in terminal

我已经下载了 Xcode 8.0 beta,其中包含更新的 Swift 3 编译器。 是否可以在终端上使用 Swift 3 编译器?

比如我可以在终端中使用"Swift (filename)"命令编译和运行Swift2.2代码

Swift 的命令行编译器称为 swiftc-h 选项将显示命令行选项。

命令行工具swift是该语言的交互式版本。

要选择要使用的版本,请使用 xcode-select。例如

sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer/

TL;DR

因为您已经安装了 Xcode 8 beta,这应该可以工作:

/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift

烟雾测试

$ /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -v
Apple Swift version 3.0 (swiftlang-800.0.30 clang-800.0.24)
...

详细示例

这是使用 Swift Package Manager 的示例代码的完整示例。

$ git clone https://github.com/apple/example-package-dealer
Cloning into 'example-package-dealer'...
remote: Counting objects: 21, done.
remote: Total 21 (delta 0), reused 0 (delta 0), pack-reused 21
Unpacking objects: 100% (21/21), done.
Checking connectivity... done.

$ cd example-package-dealer/

$ /Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift build
Cloning https://github.com/apple/example-package-deckofplayingcards.git
HEAD is now at 0879cff Merge pull request #1 from kostiakoval/master
...
Compile Swift Module 'Dealer' (1 sources)
Linking .build/debug/Dealer

$ .build/debug/Dealer
♣︎7
♠︎7
♠︎Q
♢3
♡6
♡7
♣︎K
♡K
♢2
♢8