我们都知道在 Swift 语言当中不再有 main 函数了,可能了解过 C语言或者 Java 语言的同学对这一点赶到深深的不适。总之,取而代之的是 main.swift。
1 2 3 4 |
int main(int argc, const charchar * argv[]) { printf("Hello, World!\n"); return 0; } |
在 Swift 语言当中,编译器不会再去寻找 main 函数作为程序的入口,而是这个“main.swift”文件,根据官方的解释来看,这个文件中的内容即为全局作用域之下,它将作为整个项目的入口,而其它文件当中则不能直接写除声明之外的语句。
1 2 3 |
import Foundation print("Hello World!",appendNewline true) |
消失了的 main 函数
那么,没有了这个函数,我们从何处获取入口参数?熟悉的 argc 和 argv 跑到哪里去了?
其实在 Swift 中这两个参数还是存在的——毕竟 Swift 兼容 C 不是吗?
我们只需要从全局变量当中提取它们就可以了:
1 2 3 |
//在 Swift 中,这二者分别被声明为如下形式 Process.arguments |
获取参数
要获取参数,我们只需要从这个全局变量当中提取它们——类型是 String 数组:
1 2 3 4 5 6 7 |
let argv = Process.arguments for arg in argv { //打印所有接收到的参数 print(arg) } |
这样,我们就能够获得传入的参数了,当然,默认的第一个依旧是程序的当前目录。
本文由 落格博客 原创撰写:落格博客 » Swift 如何像 C语言 那样接收入口参数?
转载请保留出处和原文链接:https://www.logcg.com/archives/1029.html