Swift-函数

定义函数

  • 定义:func 函数名(参数1: 类型, 参数2: 类型, ...) -> 返回结果的类型 {执行语句}
  • 调用:var 变量名称 = 函数名(变量1, 变量2, ...)
//乘法函数
func multiply(x: Int, y: Int) -> Int {
    return x * y
}

var z = multiply(x: 3, y: 4)  //z = 12

let h = multiply(x: -1, y: -100) //h = 100
  • 无返回值时可省略返回语句 func 函数名(参数1: 类型, 参数2: 类型, ...) {}
func welcome1() {
    print("welcome to")
    print("learn swift4!")
}

welcome1()
  • 多返回值(使用元组)
func maxMin() -> (Int, Double) {
    return (Int.max, 0.0)
}

let zzz = maxMin()

print(zzz.1)
  • 可以给某个参数以默认值
func add2(x: Int, increment: Int = 2) -> Int {
    return x + increment
}

let ccc = add2(x: 3)
let ddd = add2(x: 4, increment: 6)
  • 调用时省略参数名,定义时在参数名前加下划线
func add3(_ x: Int, _ y: Int) -> Int {
    return x + y
}

add3(2, 3)
  • 参数可变函数
func add(number: Int ...) -> Int {
    var sum = 0
    
    for i in number {
        sum += i
    }
    return sum
}

add(number: 1, 2, 3)

函数类型

  • 函数类型:包含参数和返回类型的简写形式,可以像普通变量那样使用,一般用于函数式编程. (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 mutiply(x: Int, y: Int) -> Int {
    return x * y
}

let z = calculate(x: 2, y: 3, method: add)
let i = calculate(x: 2, y: 3, method: mutiply)

print("z = \(z), i = \(i)")

推荐阅读更多精彩内容

  • 函数是用来完成特定任务的独立的代码块。给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这...
    穷人家的孩纸阅读 559评论 2 1
  • 函数是用来完成特定任务的独立的代码块。可以给函数起一个名字,用于标识一个函数,当函数需要执行的时候,这个名字就会用...
    EndEvent阅读 510评论 1 3
  • Swift 函数用来完成特定任务的独立的代码块。Swift使用一个统一的语法来表示简单的C语言风格的函数到复杂的O...
    零度_不结冰阅读 147评论 0 0
  • * 函数是用来完成特定任务的独立的代码块。你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时...
    Windv587阅读 114评论 0 0
  • 那片天ing阅读 31评论 0 0
  • 今天领导告知,终于要定岗了,虽然说早已被一年多的轮岗磨灭了斗志,但多少还是有些期待的。 原本我一直以为,可以去海外...
    橙子姐姐教英语阅读 148评论 6 2
  • 有经验的程序员注重防御性代码,有经验的HR关注用工风险。 反正大部分时间都在处理异常 上次拜访某300人规模的公司...
    Stove3阅读 654评论 0 2
  • 我淹沒在擁擠的人潮 裹攜過檢票通道 月台的風穿過我的胸膛 我穿的有些單薄 在開網北方的列車上 瞭望遠方 關於北方的...
    字铺代号李掌柜阅读 258评论 6 2