美文网首页
Swift 总结(1)-可变参数,嵌套for循环操作,输入输出参

Swift 总结(1)-可变参数,嵌套for循环操作,输入输出参

作者: echo海猫 | 来源:发表于2022-04-11 16:28 被阅读0次

1、可变参数

/// 可变参数
    func sumNumbers(_ numbers: Int...) -> Int {
        var sum = 0
        for number in numbers {
            sum += number
        }
        
        return sum
    }

调用:
let sum = sumNumbers(1, 2, 3)
print("sum = \(sum)")
//参考:public func print(_ items: Any..., separator: String = " ", terminator: String = "\n")的写法

2、嵌套for循环操作-跳出外部for循环的操作

outer: for i in 0 ... 5 {
    for k in 0 ... 4 {
        if k == 3 {
            continue outer
        }
        
        if i == 3 {
            break outer
        }
        
        print("i = \(i) k = \(k)")
    }
}

3、输入输出参数

函数的参数默认是let属性,但如果我们想修改参数的值,需要设置该参数为输入输出参数。两个注意点:
1、输入输出参数需要定义为var属性
2、在读取的时候,需要用“&”
3、可变参数不能用inout
4、inout 参数不能有默认值
5、inout 参数属于地址传递(引用传递)

func changeNumberValue(_ num: inout Int) {
      num = 100
}

调用:
var number = 20
changeNumberValue(&number)
print("number = \(number)")

应用:交换两个数 等同 Swift自带的swap方法
func swapValues(_ v1: inout Int, _ v2: inout Int) {
    let temp = v1
    v1 = v2
    v2 = temp
}

4、函数重载(Overload)

1、函数名相同,参数不同
2、注意二义性

5、内联函数(Inline Function)

内联函数在开启项目优化的时候,会自动的将简单函数变成内联函数,而函数则直接展开为函数体
但是:
1、复杂的函数不会进行内联优化
2、递归函数也不会进行内联优化
3、包含动态派发(动态绑定)也不会进行内联优化

typealias 起别名

相关文章

  • Swift 总结(1)-可变参数,嵌套for循环操作,输入输出参

    1、可变参数 2、嵌套for循环操作-跳出外部for循环的操作 3、输入输出参数 函数的参数默认是let属性,但如...

  • swift 个人笔记(变量. 函数)

    常见的数据类型 初探 函数 返回元祖, 实现多返回值 参数标签 扩展 知识点. 默认参数值, 可变参数 输入输出参...

  • 函数与数组

    函数的传参 可变参(不定参)arguments 参数的个数可变,参数数组 1.增加(改变数组内容) push() ...

  • Swift3.0 闭包整理

    语法表达式 这里的参数(parameters),可以是in-out(输入输出参数),但不能设定默认值。如果是可变参...

  • 闭包

    语法表达式 这里的参数(parameters),可以是in-out(输入输出参数),但不能设定默认值。如果是可变参...

  • 周而复始—_嵌套循环

    1、可变循环 2、循环大总结:for 循环①for 循环的一般公式,以及range中的参数所表达的含义for 变量...

  • Swift 调用 Objective-C 的可变参数函数

    Swift 调用 Objective-C 的可变参数函数 Swift 调用 Objective-C 的可变参数函数

  • 【读书笔记】_函数

    1.python函数传参的方式有以下几种: 备注:传参按照数量分为固定参数和可变参数,固定参数有关键字+默认,可变...

  • swift 3.0 关于inout

    请问是在swift 3.0 , Xcode 8.0 下,函数内的嵌套函数或者闭包都无法直接捕捉到输入输出参数,是这...

  • iOS-swift4学习(函数)

    忽略参数标签 _ xx: xxx 设置默认参数值 可变参数 一个函数最多只能拥有一个可变参数。 输入输出参数 ...

网友评论

      本文标题:Swift 总结(1)-可变参数,嵌套for循环操作,输入输出参

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