Swift学习笔记(三十三)——常量参数,变量参数和inout参数
2015-09-16 16:25
429 查看
(1)一般默认在函数中定义的参数都是常量参数,也就是这个参数你只可以查询使用,不能改变它的值。
(2)如果想要声明一个变量参数,可以在前面加上var,这样就可以改变这个参数的值了。
如:
func getName(var id:String).........
此时这个id值可以在函数中改变。
(3)一般默认的参数传递都是传值调用的,而不是传引用。 所以传入的参数在函数内改变,并不影响原来的那个参数。传入的只是这个参数的副本。
(4)
此时传入的参数是原来值的副本,所以这个函数并不会交换两个值。
修改方法是使用inout关键字:
这样,两个变量的值就真正改变了。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!
(2)如果想要声明一个变量参数,可以在前面加上var,这样就可以改变这个参数的值了。
如:
func getName(var id:String).........
此时这个id值可以在函数中改变。
(3)一般默认的参数传递都是传值调用的,而不是传引用。 所以传入的参数在函数内改变,并不影响原来的那个参数。传入的只是这个参数的副本。
(4)
import Foundation func swapTwoInts(var a:Int,var b:Int){ let t = a a = b b = t } var x = 0,y = 100 println("x = \(x) ;y = \(y)") swapTwoInts(x, y) println("x = \(x) ;y = \(y)")
此时传入的参数是原来值的副本,所以这个函数并不会交换两个值。
修改方法是使用inout关键字:
import Foundation func swapTwoInts(inout a:Int,inout b:Int){ let t = a a = b b = t } var x = 0,y = 100 println("x = \(x) ;y = \(y)") swapTwoInts(&x, &y) println("x = \(x) ;y = \(y)")
这样,两个变量的值就真正改变了。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!
相关文章推荐
- Swift学习笔记(三十二)——可变参数
- 语法参考系列——(一)如何读懂Swift的语言参考
- Swift学习笔记(三十一)——参数的默认值
- Swift学习笔记(三十)——函数的内部参数名和外部参数名
- Swift学习笔记(二十九)——函数的使用1
- 总结swi1.2适配swift2.0遇到的改变
- 《从零开始学Swift》学习笔记(Day 13)——数据类型之整型和浮点型
- Swift第三课 分支语句 if else for forin switch while do-while
- Swift 2.0学习笔记(Day 13)——数据类型之整型和浮点型
- swift2.0 Cannot assign a value of type '[CFString]' to a value of type '[String]'
- Swift学习笔记(二十八)——Switch-Case的高级用法
- Swift学习笔记(二十七)——条件语句和Switch-case语句
- Swift学习 第一课,变量与常量
- Swift 2.0 : 'enumerate' is unavailable: call the 'enumerate()' method on the sequence
- Swift基础语法详解(一)
- Swift之贪婪的UIButton
- Swift中的NSKeyedArchiver使用
- Swift中的单例的实现方式
- Swift_基础部分
- Swift 2:可以使用 @NSManage 标记自动生成方法