inout

作者: 某个胖子 | 来源:发表于2017-09-05 12:12 被阅读8次

inout:

  • 让值类型以引用方式传递(即传递的是内存地址),这样以后的操作会影响原始数据。
  • inout修饰的参数不能有默认值,且 有范围的参数集合也不能用inout修饰
  • 修饰参数的inout var let 不能并存,即 如果参数用inout修饰,就不能使用 var let修饰。

例子:

    var value = 50
    print(value)  // 此时value值为50
    func increment( num: inout Int, length: Int = 10) {
        num += length
    }
    increment(num: &value)
    print(value)  // 此时value值为60,成功改变了函数外部变量value的值
  • 声明函数 increment,在参数中使用inout 修饰,函数内部实现修改 外部值类型变量。
  • 调用函数,传入参数时,在参数值前面加&符号修饰,表明此变量值在函数内部是可以被改变的。

相关文章

  • 2017-12-26

    swift泛型的使用 ''' func exchange( a: inout T, b : inout T){//...

  • 《Swift进阶》ReadingNotes_5

    inout: inout修饰的参数只能传递lvalue,inout参数会变量优化成引用传递。而不是传入传出时的复制...

  • inout 参数

    在函数的参数中,可以传inout类型参数,如下: 其中inout关键字,当引用相应有inout参数的函数时,参数前...

  • [swift 进阶]读书笔记-第六章:函数 C6P4 inou

    第六章:函数(function) 6.4 inout参数和可变方法(inout parameter and mut...

  • inout

    inout: 让值类型以引用方式传递(即传递的是内存地址),这样以后的操作会影响原始数据。 inout修饰的参数不...

  • swift多元组

    比如输入交换,一般这样写 func swapMe1(a:inout T,b:inout T) {let temp ...

  • Swift 中的内存安全性

    内存安全 inout 参数访问冲突 在函数体内,同时读、写 stepSize 这块内存区域。 inout 参数访问...

  • 2019-09-27swift内嵌函数内存安全

    一:内嵌函数引用inout的参数时不能是逃逸的 func func1(inoutPara para : inout...

  • Note 5 闭包和代码做UI

    函数 函数传进去的值想在函数里面改变,加个inout例:a: inout In 函数 封装一段代码函数重载 :两个...

  • 关键字篇

    inout声明函数时,在参数前面用inout修饰,在函数内部实现改变外部参数,注意,这里只能传入变量,不能传入常量...

网友评论

      本文标题:inout

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