func 函数名(){函数
}spa
注意:空函数是没有返回值的。code
【示例7-3】如下为程序定义一个空函数fun,而后再去调用。代码以下:orm
import Foundation开发
//空函数的声明定义字符串
func fun(){it
}io
fun()入门
因为在空函数中没有执行的语句,因此不会有任何输出结果本文选自Swift 1.1语言快速入门。import
有参数函数是指包含参数列表的函数。如下对它的声明定义、调用、使用参数的主要事项和参数名进行详细的讲解。
有参函数声明定义的通常形式以下:
func 函数名(参数名1:数据类型,参数名2:数据类型,……)->返回值类型{
语句
}
其中, 无参函数和有参函数的区别在于参数列表。参数列表由参数名和数据类型组成,其中使用“:”冒号将它们分隔开。参数列表中的参数能够有多个。定义时使用参数是为了接收调用(调用会在下一小节中讲解)时传递的数据。
【示例7-4】如下定义一个函数名为fun()的函数,此函数带有一个参数。代码以下:
func fun(Name: String){
…
}
注意:参数列表中的参数名和数据类型都是不能够省去的。如如下的代码,它就是将参数名后面的数据类型省去了,代码以下本文选自Swift 1.1语言快速入门:
func fun(Name){
…
}
因为省去了数据类型致使程序出现了如下的错误:
Use of undeclared type 'Name'
在有参函数声明定义后,就能够调用了,其调用的通常形式以下:
函数名(参数值1,参数值2,…)
【示例7-5】如下代码将实现问候某一我的的功能。代码以下:
import Foundation
//有参函数的声明定义
func fun(Name: String){
println("Hello,\(Name)")
}
let personName1="Tom"
fun(personName1) //调用
let personName2="Div"
fun(personName2) //调用
在此代码中,函数调用依次将字符串"Tom"和"Div"传递给函数在定义时的参数Name,而后进行输出。运行结果以下所示本文选自Swift 1.1语言快速入门:
Hello,Tom
Hello,Div
Program ended with exit code: 0
固然在函数参数列表中也能够由多个参数。这时,多个参数须要使用“,”逗号分隔。
【示例7-6】如下将输出某一范围内包含的数字。代码以下:
import Foundation
//具备多个参数函数的声明定义
func range(start:Int,end:Int){
var i=start
var e=end
for i;i<=e;++i{
println(i)
}
}
let s=1
let e=5
range(s,e) //调用
运行结果以下所示:
1
2
3
4
5
Program ended with exit code: 0
在使用参数时,须要当心,避免出现问题。如下讲解常出现的两个问题本文选自Swift 1.1语言快速入门。
1.参数个数
函数在声明定义时的参数要和调用时的参数个数一致。不然,就会出现错误。例如如下代码,它的功能计算在某一范围内包含多少个元素。代码以下:
import Foundation
func range(start:Int,end:Int){
println(end-start)
}
let s=1
let e=5
range(s)
因为声明定义时的参数个数为2个,可是调用时的参数可是为1个。两个参数不一致,致使程序出现如下的错误提示:
Missing argument for parameter #2 in call
此错误信息的意思是:在调用时丢失了#2参数。
2.参数顺序
声明定义时的参数顺序必定要和调用时的参数顺序一致,不然就会出现错误,或者是逻辑上的错误。例如如下的代码,将字符串aa输出指定的次数。
import Foundation
func fun(start:Int,end:Int,str:String){
var i=s
for i;i<=end;++i{
println("字符串:\(str)第\(i)次输出")
}
}
let s=1
let e=5
var ss="a"
fun(s,ss,e)
在声明定义时参数的顺序为(Int,Int,String),而在调用时参数的顺序为(Int,String,Int)。二者是不同的,因此就会出现如下的错误提示:
'String' is not convertible to 'Int'
本文选自Swift 1.1语言快速入门