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
转载于:https://www.cnblogs.com/imhere/p/4252397.html
Swift学习笔记 In-out形参相关推荐
- 【swift学习笔记】二.页面转跳数据回传
上一篇我们介绍了页面转跳:[swift学习笔记]一.页面转跳的条件判断和传值 这一篇说一下如何把数据回传回父页面,如下图所示,这个例子很简单,只是把传过去的数据加上了"回传"两个字 ...
- swift学习笔记《5》- 实用
title: swift学习笔记<5>- 实用 date: 2016-09-21 21:39:00 categories: 学习笔记 Swift学习 tags: Swift 1.setVa ...
- Swift学习笔记(4)使用UIImagePickerController实现从设备图片库和照相机获取图片
Swift学习笔记(4)使用UIImagePickerController实现从设备图片库和照相机获取图片 设备图片库和照相机是图像的两个重要来源,使用UIKit中提供的图像选择器UIImagePic ...
- Swift学习笔记-协议(Protocols)
1.0 翻译:geek5nan 校对:dabing1022 2.0 翻译:futantan 校对:小铁匠Linus 定稿:shanksyang 本页包含内容: 协议的语法(Protocol Synta ...
- Swift学习笔记8--Optional Chaining
Optional Chaining 自判断链接(Optional Chaining)是一种可以请求和调用属性.方法及子脚本的过程,它的自判断性体现于请求或调用的目标当前可能为空( nil ).如果自 ...
- Swift学习笔记 (四十二) 不透明类型
具有不透明返回类型的函数或方法会隐藏返回值的类型信息.函数不再提供具体的类型作为返回类型,⽽是根据它支持的协议来 描述返回值.在处理模块和调用代码之间的关系时,隐藏类型信息⾮常有用,因为返回的底层数据 ...
- Swift学习笔记 ——(一)
前言 作为一个前端开发者,经常与javaacript(以下简称:js)打交道.最近想了解一下ios开发,前两天看了一下objective-c(以下简称:oc),相对于js来说还是有很多不同的,但是语言 ...
- Swift学习笔记笔记(七) UIKit常用组件的使用
一.实验目的: 1.掌握Cocoa程序的创建 2.掌握UILabel组件的使用 3.掌握UIButton组件的使用 4.掌握UITextField组件的使用 二.实验原理: 1.Cocoa应用程序框架 ...
- swift学习笔记_iOS开发(一)
swift已经问世n久了,给自己充充电,学习一下苹果的新东西,苹果公司日渐推崇更为简洁明了更为直观快速的程序开发模式,从适配的AutoLayout到Swift语言,苹果一直在鼓励开发者去探索使用新技术 ...
最新文章
- 牛腩44 整合登陆页 RequiredFieldValidator 和 ValidationSummary 以及 asp.net 自带的MD5 加密...
- Monitor CodeForces - 846D ——二维前缀和
- 11月27日struts项目练习评审
- 超链接禁用_在Microsoft Word 2003和2007中禁用自动超链接
- Kubernetes:通过自动化节省IT预算的4种方法
- cfF. Boring Queries
- 引入mui后,radio单选框不可点击问题解决
- MyBatis_Generator的使用(实践)
- mysqldump对mysql数据库的影响
- Java编程中“为了性能”尽量要做的26点
- Fuschia 是什么样的一个操作系统
- centos 修改root密码_Vultr 修改 Root 密码的方法
- 32f4怎样同时采集两个adc_硬件-TI-ADC
- 3万字细说数据仓库体系(建议收藏)
- XR872 移植 u-boot-v2021.07
- 【数据库】关系数据库标准sql语言
- 国家信息系统安全等级保护基本要求——等保一级、二级、三级、四级内容
- Mysql 正则 实现 like in 效果
- 如何快速计算汉字笔画数
- 国米w ndows错误,争议缠身的超级巨星,23岁爽约尤文,28岁激怒巴萨,35岁逼宫国米...
热门文章
- [Java]toString的用法
- java spring 加载bean,Spring多种加载Bean方式解析
- 基于LSTM搭建文本情感分类的深度学习模型:准确率95%
- oracle cloud认证费用,ORACLE Cloud 创建实例费用提问
- dom4j实现为list添加父节点_最大堆的实现与原理
- 均匀三次b样条曲线_西门子数控曲线加工进给速度优化指令
- RHCSA学习笔记-基础操作命令
- 敏捷方法开发总结的点评记录
- android webview的一些设置问题
- [转载]Qt之鼠标样式