一、无参
import Foundation
// 定义
func test1(){
println("我是无参,无返回值函数")
}
// 调用
test1()
输出:
我是无参,无返回值函数
Program ended with exit code: 0
二、有参数
1.有参数无返回值
// 定义
func test2(name:String,age:Int){
println("我是有参函数,name:\(name),age:\(age)")
}
// 调用
test2("July",22)
跟Java等语言相比的不同是形式参数列表类型和变量名位置不同,还多了个:,输出:
我是有参函数,name:July,age:22
2.无参数有返回值
// 定义
func test3() ->(Int,String){
return (22,"July")
}
// 调用
println(test3())
输出:
(22, July)
3.有参数有返回值
// 定义
func test4(name:String,age:Int) ->(String){
return "\(name),\(age)";
}
// 调用
println(test4("july",22))
输出:
july,22
当然我们还可以这样写:
// 定义
func test5(m:Int,n:Int) ->(Int,Int){
return (n,m);
}
// 调用
let (a,b) = test5(6,8);
println(a,b)
输出:
(8, 6)
你还可以这样写:
var test6 = test5
println(test6(10,20))
是不是找到了JS的感觉了,呵呵。还有一点就是,返回值可以有多个,而且类型也可以不一样啊。
更赞的还不止这些,用过OC的都知道,可以有标签,下面的写法你一定不陌生
func test8(v1:String,andValue v2:String,andKey v3:Int) -> String{
return "\(v1) and \(v2) and \(v3)";
}
let v2 = test8("first",andValue:"second",andKey:100);
println(v2)
输出:
first and second and 100
真心很棒吧!