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

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...