swift3 函数方法

前端之家收集整理的这篇文章主要介绍了swift3 函数方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

定义函数:

形式:func 函数名(参数名1:类型,参数名2:类型,…) -> 返回结果的类型 {执行语句}
调用:var 变量名称 = 函数名(变量1,变量2,…)

1.有参数有返回值

func add(x: Int,y: Int) -> Int {
    return x + y
}
var z = add(x: 3,y: 4) //7

//可以给某个参数以默认值
func add2(x :Int,increment : Int = 2) -> Int {
    return x + increment
}
add2(x: 3)  //5
add2(x: 3,increment: 3)    //6

2.无参数无返回值

无参数无返回值 :一般用于执行一系列操作,不需要结果.

func welcome() {
    print("欢迎")
    print("学习")
}

welcome()

3.多返回值(使用元组)

func maxMin() -> (Int,Int) {
    let Range1 = Range(1..<8);
    return (Range1.lowerBound,Range1.upperBound)
}

maxMin()    //(.0 1,.1 8)
maxMin().0  //1
maxMin().1  //8

4.参数类型为函数类型

函数类型:包含参数和返回类型的简写形式,可以像普通变量那样使用,一般用于函数式编程.
例如:(Int,Int) -> Int

func calculate(x: Int,y: Int,method: (Int,Int)->Int ) -> Int { return method(x,y) }

func add(x: Int,y: Int) -> Int { return x + y }

func multiply(x: Int,y: Int) -> Int { return x * y }

calculate(x: 3,y: 4,method: add)  //7
calculate(x: 5,y: 6,method: multiply) //30

5.参数为可变类型

默认情况下方法的参数是let值,也就是不可改变的。
不过我们可以在参数类型前使用inout关键字改变其不变性,并且在调用方法传递实参时也要加上地址符&。

func test( i:inout Int){
    i += 1
    print(i)
}

var x = 10
test(i: &x) //11
print(x)    //"11\n"

参考自
SwiftV课堂视频源码
http://www.jb51.cc/article/p-newbqpor-dx.html

猜你在找的Swift相关文章