Swift 中的函数(上)

本文详细介绍了Swift语言中的函数使用方法,包括基本定义、参数传递、可变参数、默认参数、In-Out参数等,并提供了丰富的示例代码。

学习来自《极客学院:Swift中的函数》

工具:Xcode6.4 

直接上基础的示例代码,多敲多体会就会有收获:百看不如一敲,一敲就会

 1 import Foundation
 2 
 3 //函数
 4 /*1.定义函数的语法格式
 5     func 函数名(形参列表) -> 返回值类型 {
 6     //可执行语句组成的函数
 7 }
 8 */
 9 //定义和调用函数
10 func sayHello(personName: String) -> String{
11     return "Hello "+personName
12 }
13 println(sayHello("HeYang"))
14 
15 //2.外部参数名 局部参数名:形参类型
16 func area(宽 width: Double,高  height: Double) -> Double
17 {
18     return width * height
19 }
20 print("面积是:")
21 println(area(宽: 3.4, 高: 4.3))
22 //但是这样比较麻烦,所以需要用#号
23 func area_1(#width: Double,#height: Double) -> Double
24 {
25     return width * height
26 }
27 print("改了之后:")
28 println(area_1(width: 34.1, height: 9.2))
29 
30 //3可变参数:在参数类型后面添加 ... 表示该参数
31 func sum(numbers: Int...) -> Int{
32     var total : Int = 0
33     for num in numbers{
34         total += num
35     }
36     return total
37 }
38 println("求和是:\(sum(1,2,3,4))")
39 //要注意的地方:一个函数只能有一个可变参数,而且可变参数只能位于最后
40 
41 //4.默认参数
42 func sayHi(msg: String,name: String = "HeYang"){
43     println("\(name),\(msg)")
44 }
45 sayHi("你好~")
46 sayHi("你好~", name: "world")
47 //不能去掉里面的 name: 也就是带有默认参数的是有外部参数名的,也就是说,默认参数相当于是在外部声明定义的。如果要忽略的话,就在默认参数前面添加下划线:unc sayHi(msg: String,_ name: String = "HeYang")不是_name而是_ name
48 
49 //如果有可变参数,也有默认参数,那么可变参数放在最后面,默认参数只能出现在次后面
50 
51 //5.常量形参 和 变量形参
52 func factorial(var number:Int) -> Int{
53     var result: Int = 1
54     while number > 1{
55         result = result*number
56         number--
57     }
58     return result
59     //变量的形参作用域在函数内部,所以形参怎么变化都是不会影响到外面的变量
60 }
61 print("形参")
62 println(factorial(4))
63 
64 //6.In-Out形参
65 func swap(inout a:Int,inout b:Int){
66     var temp = a
67     a = b
68     b = temp
69 }
70 var a = 1
71 var b = 2
72 swap(&a, &b)
73 println("交换之后,a:\(a) b:\(b)")
74 /*注意
75 1.只能传入变量作为实参
76 2.输入输出参数不能带有默认值
77 3.如果你用关键字,inout标记了一个参数,这个参数不能用var或者let去标记
78 */

运行输出结果是:

转载于:https://my.oschina.net/u/2363463/blog/635720

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值