2019独角兽企业重金招聘Python工程师标准>>>
学习来自《极客学院: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 */
运行输出结果是: