值类型和引用类型
来源:互联网 发布:斑马条码打印机软件 编辑:程序博客网 时间:2024/06/05 04:34
值类型和引用类型
Swift 分为值类型和引用类型, 两者最典型的��分别的结构体和类.为阐明它们之间的区别, 看下面的粒子:
结构体
struct PointStruct { var x: Int var y: Int}var structPoint = PointStruct(x: 1, y: 2)var sameStructPoint = structPointsameStructPoint.x = 5func setStructToOrigin( point: PointStruct) -> PointStruct { var point1 = point point1.x = 0 point1.y = 0 return point1}var structOrign = setStructToOrigin(point: structPoint)
此段代码执行完后, sameStructPoint等于(x: 5, y: 2), structOrign等于(x:0, y:0).然而structPoint仍然保持原始值不变.值类型被赋予一新值或当做惨书传递时, 会发生值得赋值.
let structPoint2 = PointStruct(x: 10, y: 10)//这段代码会报错structPoint2.x = 1苹果官方解释 If you create an instance of a structure and assign that instance to a constant, you cannot modify the instance’s properties, even if they were declared as variable properties
类
class PointClass { var x: Int var y: Int init(x: Int, y: Int) { self.x = x self.y = y }}var classPoint = PointClass(x: 10, y: 10)var sameClassPoint = classPointsameStructPoint.x = 11func setClassToOrigin(point: PointClass) -> PointClass { point.x = 0 point.y = 0 return point}var pointorign = setClassToOrigin(point: classPoint)
这段代码执行过后classPoint, pointorign和sameClassPoint的x值都被修改为0.
阅读全文
0 0
- 值类型和引用类型
- 值类型和引用类型
- 值类型和引用类型
- 值类型和引用类型
- 引用类型和值类型
- 值类型和引用类型
- 值类型和引用类型
- 值类型和引用类型
- 值类型和引用类型
- 值类型和引用类型
- 值类型和引用类型
- 引用类型和值类型
- 值类型和引用类型
- 值类型和引用类型
- 值类型和引用类型
- 引用类型和值类型
- 值类型和引用类型
- 值类型和引用类型
- Ubuntu下好用的音乐播放器Audacious
- canvas仿知乎登录页面动画
- 《Netty超时设置不起作用》---超时相关handler注意事项
- 【Spring 核心】(3):SpringMVC 的实现
- NSError 解析
- 值类型和引用类型
- 使用hexo+github搭建个人微博——手把手教
- 【java面试】数据库篇
- 高并发的事务管理注意事项
- ubuntu 16.04 xampp环境配置虚拟主机
- BaseActivity封装固定控件
- Influxdb的cli中查询结果time列格式显示设置
- 有限状态机FSM详解及其实现
- IntelliJ IDEA 快捷键说明大全(中英对照、带图示详解)