swift-16函数的定义

我以前做的swift笔记, 之前都是整理在onenote上, 最近想到整理出博客. 也方便自己查找, 可以当做自己的一份文档.

    override func viewDidLoad() {
        super.viewDidLoad()
        /**
            swift 1.0 sum(10, 20) 所有的形参都会省略  其他程序员非常喜欢
            swift 2.0 sum(10, y: 20)  第一个形参的名称省略
            swift 3.0 sum(x: 10, y: 20) 形参的名称都不省略  oc程序员喜欢
         
         */
        print(sum(x: 10, y: 20))
        print(sum1(num1: 30, num2: 3))
        print(sum1(44, 13))
        print(sum3(x: 11, y: 20))
        print(sum3(x: 11))
        print(sum3(y: 20))
        print(sum3())
        demo()
        demo1()
        demo2()
    }

函数的定义

函数定义, 格式 函数名(形参列表) -> 返回值类型

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

外部参数

外部参数就是在 形参前加一个名字
外部参数不会影响函数内部的细节
外部参数会让外部调用方看起来更加的直观
外部参数如果使用_ 在外部调用函数时 会忽略形参的名字

    func sum1(_ x: Int, _ y: Int) -> Int {
        // 在swift中 _就是可以忽略任意不感兴趣的内容 
        // 比如替代 函数 返回值/形参列表的形参名称
        // Immutable value 'i' was never used; consider    replacing with '_' or removing it
        // i 从来没有被用到 建议使用 _ 替代
        for _ in 0..<10 {
            print("hello world")
        }
        return x + y
    }
    
    func sum1(num1 x: Int, num2 y: Int) -> Int {
        return x + y
    }

无返回值

        知道就行 主要用在闭包 在阅读第三方框架代码时 保证能够看懂
        - 直接省略
        - ()
        - Void
    func demo() {
        print("哈哈")
    }


    func demo1() -> () {
        print("嘻嘻")
    }
    
    func demo2() -> Void {
        print("呵呵")
    }

默认值

设置函数的参数有默认值 如果为传入对应参数 一个值 该参数的值使用默认值
通过给参数设置默认值 在调用的时候 可以任意组合参数 如果不指定的 就使用默认值
oc中需要定义很多的方法 以及方法实现 最终调用所有参数的那个函数

    func sum3(x: Int = 2, y: Int = 3) -> Int {
        return x + y
    }

你可能感兴趣的:(swift-16函数的定义)