在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Swift语言一如既往的继承了苹果公司卓尔不群的奇葩思维方式,总是要弄得跟别的语言不一样,才能显出它的特殊 比如用数组作为参数上,这格式实在是没有试出来,找了stackoverflow,才找到相应信息,在此作以总结:
1.普通常量数组参数: Swift和java C#不同,普通的参数是常量型,这也体现了他们重视性能的编程理念,形参在函数中不允许更改, 代码格式如下: 1 let a=[1,2,3] 2 func b(arr:[Int]) 3 { 4 println("\(arr[0])") 5 } 6 b(a) 2.变量参数: 声明形参时,需要在形参前用var 修饰,代码: var a=[1,2,3] func b(var arr:[Int]) { arr[0]=5; println("\(arr[0])") } b(a) 但是,实际上,这种传递是值传递,a[0]仍然是1 3. inout 数组参数: 声明参数是,需要在形参前加上inout修饰,这才代表是引用传递,形参的改变会反应到实参上。代码: var a=[1,2,3] func b(inout arr:[Int]) { arr[0]=5 println("\(arr[0])") } b(&a) print("\(a[0])") 注意:使用时,传递的是地址,所以实参要使用&来取数组地址 这次,a[0]在调用函数后,真正改变为5 |
请发表评论