前言
在一个工程中应该存在多个 .swift 文件用于存放不一样的程序逻辑,这篇指引是继续上一篇文章编写的。
创建一个文件
vi Greeter.swift
在 Greeter.swift 中输入以下内容
func sayHello(name: String) -> String {
return "Hello, \(name)"
}
调用 sayHello 函数
在 Swift 中,如果同属一个包内的文件,不需要 import。
编辑 main.swift
print(sayHello("Pony"))
重新执行 swift build,再次运行程序,Shell 输入Hello, Pony
获取 Shell 命令行参数
在 Swift 中,使用 Process.arguments 获取命令行输入,它是一个[String]数组,我们可以通过此数组获取命令行输入,它必然是一个 >= 1 的数组,第一个元素是程序名称自己。
将 main.swift 修改一下
let arguments = Process.arguments
if arguments.count >= 3 {
if arguments[1] == "sayHello" {
print(sayHello(arguments[2]))
}
else {
print("Use DemoProject sayHello xxx")
}
}
else {
print("Use DemoProject sayHello xxx")
}
重新编译,然后在 Shell 中执行以下命令
.build/debug/DemoProject sayHello Pony
Hello, Pony
结语
我们在本节中学习了如何使用多个文件协同构建一个工程的方法,swift 的最大好处是无须像 Objective-C 一样编写一堆无用的 import 头文件。
跨工程调用的时候,你只需要 import Package 就可以了,这会在后面继续介绍。
扩展
尝试一下执行
.build/debug/DemoProject sayHello `whoami`