Swift on Linux —— 多文件协同编译

前言

在一个工程中应该存在多个 .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 就可以了,这会在后面继续介绍。

目录://www.greatytc.com/notebooks/2633832/latest
下一篇:调用系统C语言库

扩展

尝试一下执行

.build/debug/DemoProject sayHello `whoami`
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,168评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,273评论 4 61
  • zephyr1125阅读 520评论 0 51
  • 《欢乐颂》中包奕凡的妈妈说,“宁要讨饭娘,不要做官爹”,母爱往往更无私更伟大,她平凡又奢侈!人生第一痛,就是童年失...
    绿水无忧lswy阅读 1,868评论 2 2
  • 太仓之行 在太仓的九哥农庄BBQ 我在画画,她们在烧烤 还给大家做了咖啡曲奇饼烘焙 晚上又画了荷花和玫瑰花 真的很...
    NewNew路阅读 159评论 0 0