美文网首页
Swift之函数

Swift之函数

作者: oh_flying | 来源:发表于2017-05-24 19:29 被阅读7次

swift函数是个重点,但是不难理解,特殊的我会说明的。

函数的定义

/// 函数定义,格式 函数名(形参列表)->返回值类型
func sum(x:Int,y:Int) -> Int {
    return x + y
}

在外部调用print(sum(x: 10, y: 50)),这个说明一下:

//swift1.0调用的方式 sum(10,50)所有的形参都会省略
    //1.0 其他的程序员非常喜欢
    //swift2.0调用的方式 sum(10, y: 50),第一个形参的名称会省略
    //swift3.0调用的方式 OC的程序员非常喜欢

外部参数

func sum1(num1 x:Int,num2 y:Int) -> Int {
    return x + y
}

调用print(sum1(num1: 30, num2: 60)),说明一下:

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

另外一种写法:

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

调用print(sum2(40, 60)),如果使用下划线_,在外部调用函数时,会忽略形参的名字.

函数的默认值

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

然后我们这么调用:

    print(sum3())
    print(sum3(x: 10, y: 20))
    print(sum3(x: 10))
    print(sum3(x: 30))

打印的值是:

3
30
12
32

说明:

//通过给参数设置默认值,在调用的时候,可以任意组合参数,如果不指定的,就使用默认值
// OC中需要定义很对的方法,以及方法实现,最终调用包含所有参数的那个函数

与OC对比一下:

图.png

可以看出OC中如果想组合不同参数的话就得写很多个方法,第一个带一个参数,第二个带两个参数,举个例子就是,如果你想使用通过url加载图片的话就用第一个,如果还想带placeholder图的话就使用第二个,所以你需要写很多个方法满足不同的需求,一般为了达到效果,调用那个最长的函数。如果在swift中的话,直接就可以写一个,然后定义一个默认值,如果需要改哪个参数的话就调的时候给个值就可以,其他的还是使用默认的值,调用起来比较方便。

无返回值的情况

/*
 知道就行,主要用在闭包,在阅读第三方代码时保证能够看懂
 -直接省略
 -()
 -void
*/

func demo1() {
    print("哈哈")
}
//->输出到目标
func demo2() -> () {
    print("呵呵")
}

func demo3 () -> Void {
    print("嘻嘻")
}

这几种就是什么返回值都没有。

总结

函数比较重要,要多多琢磨,加深理解。

相关文章

  • Swift学习笔记(二)

    Swift函数 Swift函数包含参数类型和返回值类型 函数定义 Swift使用关键字func定义函数。 函数定义...

  • Swift之函数

    目前swift已经出到了swift4.0版本,对于一些基础语法内容之类的也和之前有了相对的区别。今天主要说说swi...

  • Swift 之函数

    代码实现 函数的定义 函数的定义 格式 func 函数名(行参列表) -> 返回值 {代码实现} 调用 let r...

  • Swift之函数

    swift函数是个重点,但是不难理解,特殊的我会说明的。 函数的定义 在外部调用print(sum(x: 10, ...

  • swift之函数

    1>函数参数与返回值 无参无返回值函数 尽管这个函数没有参数,但是定义中在函数名后还是需要一对圆括号。当被调用时,...

  • Swift之函数

    本文首发于我的个人博客 函数定义 形参默认是let 并且只能是let 无参无返回值 可以省略Void 也可以不省略...

  • Swift之函数

    回想一下java中方法的定义和调用 在Swift中函数的定义 常见的几种函数类型 *无参无返回值 *有参无返回值 ...

  • Swift3之函数(二)

    Swift3之函数(一) 进阶部分 1.函数参数 -- 外部参数名 2.下滑线 -- _ 3.函数参数 -- 设置...

  • Swift中的标准函数

    Swift中的标准函数 Swift中的标准函数

  • Swift の 函数式编程

    Swift の 函数式编程 Swift の 函数式编程

网友评论

      本文标题:Swift之函数

      本文链接:https://www.haomeiwen.com/subject/nevoxxtx.html