Swift 函数

函数 -定义

// MARK: - 闭包 / Block `很像`
    func closureDemo1() {
        // (Int, y: Int) -> Int
        // 如果指向的函数,没有提供外部参数,在使用的时候,没有智能提示
        let myBlock1 = sum
        
        print(myBlock1(10, y: 20))
        
        // (x: Int, y: Int) -> Int
        // 如果指向的函数,提供外部参数,在使用的时候,有智能提示
        let myBlock2 = sum1
        print(myBlock2(x: 20, y: 80))
        
        // {} 是用来包装代码,闭包中的所有内容需要包含在 {} 中
        // () -> ()
        // 最简单的闭包
        let myBlock3 = {
            print("hello")
        }
        myBlock3()
        
        // {} 是用来包装代码,闭包中的所有内容需要包含在 {} 中
        // 如果有参数和返回值
        // (Int, Int) -> Int
        // 格式 { (形式参数列表)->返回类型 in // 代码实现 }
        // in 是用来区分函数定义和代码实现的
        let myBlock4 = { (x: Int, y: Int) -> Int in
            return x + y
        }
        print(myBlock4(9, 8))
    }

// MARK: - 返回类型
    /*
        无返回类型-> 定义 `闭包` 的时候使用
    
        1. 省略
        2. ()
        3. Void
    
        函数名是指向函数的内存首地址
        OC是运行时,以消息的方式,发送消息!方法!
    */
    func demo() {
        print("hello")
    }
    
    func demo1() -> Void {
        print("xixi")
    }
    
    func demo2() -> () {
        print("hehe")
    }
    
    // MARK: - 默认值
    // 函数的默认值,定义函数的时候 `= 值` 来指定
    // 所有指定了默认值之后的函数,可以任意组合参数
    // 指定了哪个参数,就使用哪个参数,否则使用默认值参与计算
    func sum4(x: Int = 8, y: Int = 20, z: Int = 10) -> Int {
        return x + y + z;
    }
    
    // MARK: - 外部参数
    // 如果使用 `_` 作为外部参数,会 `忽略` 参数名的提示
    func sum3(x: Int, _ y: Int) -> Int {
        
        // 如果不关心遍历的索引,可以直接使用 `_`
        for _ in 0..<10 {
            print("hello")
        }
        return x + y
    }
    
    // 格式:func 函数名(外部参数 形参1: 类型1, ...) -> 返回类型 { // 代码实现 }
    // 外部参数是 `供外界访问` 调用的,可以让函数的语义更加清楚,不会影响到内部
    // 形参 是供函数内部使用
    func sum2(num1 x: Int, num2 y: Int) -> Int {
//        String(format: <#T##String#>, arguments: <#T##[CVarArgType]#>)
//        String(format: <#T##String#>, <#T##arguments: CVarArgType...##CVarArgType#>)
        return x + y
    }
    func sum1(x x: Int, y: Int) -> Int {
        return x + y
    }
    // 格式:func 函数名(形参列表) -> 返回类型 { // 代码实现 }
    func sum(x: Int, y: Int) -> Int {
        return x + y
    }
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值