zoukankan      html  css  js  c++  java
  • Swift学习笔记 In-out形参


    在Swift中,变量形参只能在函数本身内改变。如果你想让函数改变形参值,并想要在函数调用结束后保持形参值的改变,那你可以把形参定义为 in-out 形参。通过在形参定义的开始添加 inout 关键字来编写 in-out 形参。In-Out 形参有一个传递至函 数的值,由函数修改,并从函数返回来替换原来的值。你只能传递一个变量作为 in-out 形参对应的实参。你不能传递一个常量或者字面量作为实参,因为常量和字面量不能被修改。当你把变量作为实参传递给 in out 形参时,需要在直接在变量前添加 & 符号,以表明它可以被函数修改。
     
     1 var a = 20
     2 var b = 30
     3 
     4 // var代表num1,num2的值可以改变,系统默认为let #代表使用直接使用内部形参数作为外部形参数,使函数使用者更明了函数的作用
     5 func swipTwoNum(var #num1 : Int,var #num2 : Int)
     6 {
     7     var temp  = num1
     8     num1 = num2;
     9     num2 = temp;
    10 }
    11 
    12 swipTwoNum(num1: a, num2:b);
    13 println("a : (a)  b : (b)");//a : 20  b : 30
     
     1 var a = 20
     2 var b = 30
     3 
     4 // inout 只能传递一个变量作为形参对应的实参。不能传递一个常量或者字面量作为实
     5 // 参,因为常量和字面量不能被修改当你把变量作为实参传递给 in out 形参时,需要在直 接在变量前添加 & 符号
     6 // #     代表使用直接使用内部形参数作为外部形参数,使函数使用者更明了函数的作用
     7 func swipTwoNum(inout #num1 : Int,inout #num2 : Int)
     8 {
     9     var temp  = num1
    10     num1 = num2;
    11     num2 = temp;
    12 }
    13 
    14 swipTwoNum(num1: &a, num2:&b);
    15 println("a : (a)  b : (b)");//a : 30  b : 20

     
  • 相关阅读:
    第三方登录(QQ登录)开发流程详解
    编译PHP并与Ngnix整合
    Ngnix的日志管理和用定时任务完成日志切割
    Ngnix 安装、信号量、虚拟主机配置
    Redis命令操作详解
    Redis的安装和部署
    消息队列
    Ubuntu中Google Chrome安装
    关于双系统下Ubuntu不能访问Windows中某个盘的问题
    numpy.random.shuffle()与numpy.random.permutation()的区别
  • 原文地址:https://www.cnblogs.com/imhere/p/4252397.html
Copyright © 2011-2022 走看看