Swift之函数

函数的介绍

*     函数相当于OC中的方法

*      函数的格式如下

func函数名(参数名1:参数类型, 参数名2:参数类型…)->返回值类型{

      代码块

return返回值

}

* func是关键字多个参数列表之间可以用逗号()分隔,也可以没有参数

*  使用箭头“->”指向返回值类型

*如果函数没有返回值,返回值为Void.并且“-> 返回值类型”部分可以省略

常见的几种函数类型

*无参无返回值
functest1()->Void{

print("这是一个无参无返回值的函数")

}

test1()

functest2()->(){

print("这是一个无参无返回值的函数")

}

test2()

functest3(){//最常用print("这是一个无参无返回值的函数")

}

test3()

*有参无返回值

func call(phoneNumber:String){

   print("打电话给\(phoneNum)")

}

call(phoneNumber:"686868")

*无参有返回值

func getMsg()->String{

    return "我吃过了"

}

print(getMsg())

函数的使用注意

1)函数的参数默认都是let类型

2)返回值返回多个:可以用元组或者数组等

内部和外部参数名

总结:

外部参数名是大名,外面人喊(调用的时候用);

内部参数名是小名,家里人喊(函数体中使用)

funcminus1(a:Int,b:Int)->Int{

returna-b

}

//num1是外部参数名,a叫内部参数名;num2是外部参数名,b叫内部参数名;a,b在函数体中使用,num1、num2在调用的时候使用funcminus2(num1 a:Int,num2 b:Int)->Int{

returna-b

}

//_忽略外部参数名funcminus3(_a:Int,num2 b:Int)->Int{

returna-b

}

minus1(a:10,b:3)

minus2(num1:10,num2:3)

minus3(10,num2:3)

可变参数

1)swift中函数的参数个数可以变化,它可以接受不确定数量的输入类型参数

2)它们必须具有相同的类型

3)我们可以通过在参数类型名后面加入(...)的方式来指示这是可变参数

funcadd(nums:Int...)->Int{

print(type(of:nums))

varsum=0

fori in nums{

sum+=i

}

returnsum

}

print(add(nums:10,20))

print(add(nums:10,20,30))

默认参数

funcorder(item:String="奶茶")->String{

return"您点了\(item)"

}

//调用时可以再次赋值,或者不处理

print(order(item:"面包"))print(order())

输入输出参数

funcswap1(a:Int,b:Int){

lettmp=a 

 a=b 

 b=tmpprint("a:\(a),b:\(b)")

}

swap1(a:10,b:30)

引用类型(指针的传递)

1)默认情况下,函数的参数是值传递.如果想改变外面的变量,则需要传递变量的地址

2)必须是变量,因为需要在内部改变其值

3)swift提供的inout关键字就可以实现

指针参数

var m = 20

 var n = 30

 funcswapnum(num1 : inout int, num2 : inout int){

 let temp = num1 

num1 = num2 

num2 = temp 

swap(&m, &n) 

print("m:\(m) n:\(n)")

你可能感兴趣的:(Swift之函数)