首页 » iOS编程基础:Swift、Xcode和Cocoa入门指南 » iOS编程基础:Swift、Xcode和Cocoa入门指南全文在线阅读

《iOS编程基础:Swift、Xcode和Cocoa入门指南》1.5 函数

关灯直达底部

如fido.bark()或one=two这样的可执行代码不能随意放置。一般来说,这样的代码必须要位于函数体中。函数由一系列代码构成,并且可以运行。一般来说,函数有一个名字,这个名字是通过函数声明得到的。函数声明语法的细节将会在后面进行详细介绍,先来看一个示例:


func go {    let one = 1    var two = 2    two = one}  

上述代码描述了要做的一系列事情——声明one、声明two,将one值赋给two——并且给这一系列代码赋予一个名字go;不过该代码序列并不会执行。只有在调用函数时,该代码序列才会执行。我们可以在其他地方这样执行:


go  

这会向go函数发出一个命令,这样go函数才会真正运行起来。重申一次,命令本身是可执行代码,因此它不能位于自身当中。它可以位于不同的函数体中:


func doGo {    go}  

请等一下!这么做有点奇怪。上面是一个函数声明;要想运行该函数,你需要调用doGo,它才是可执行代码。这看起来像是无穷无尽的循环一样;似乎代码永远都不会运行。如果所有代码都必须位于一个函数中,那么谁来让函数运行呢?初始动力一定来自于其他地方。

幸好,在实际情况下,这个问题并不会出现。记住,你的最终目标是编写iOS应用。因此,应用会运行在iOS设备(或是模拟器)中,由运行时调用,而运行时已经知道该调用哪些函数了。首先编写一些特殊函数,这些函数会由运行时本身来调用。这样,应用就可以启动了,并且可以将函数放到运行时在某些时刻会调用的地方——比如,当应用启动时,或是当用户轻拍应用界面上的按钮时。

Swift还有一个特殊的规则,那就是名为main.swift的文件可以在顶层包含可执行代码,这些代码位于任何函数体的外部,当程序运行时真正执行的其实就是这些代码。你可以通过main.swift文件来构建应用,不过一般来说没必要这么做。