Swift枚举&结构体&类
程序员文章站
2022-05-13 20:04:21
...
enum Methodc {
case Add,Sub,Mul,Div
}
//// Swift枚举 不像OC 中有默认值0 不过可以指定
enum Method2:Int {
case Add2 = 5,Sub,Mul,Div
}
var m:Methodc = .Add
var m2:Method2 = .Add2
///rawValue代表将枚举值转换为原始值
print(m2.rawValue)
//print(m)
struct Rect {
var width :Double = 0.0
var height:Double = 0.0
}
var r = Rect()
r.width = 122.0
struct Rect2 {
var width :Double
var height:Double = 0.0
}
/// 顺序必须和结构体成员顺序一致。。 且必须包含所有的结构体成员
var r2 = Rect2(width:10.0,height:20.0)
print(r2.width)
print(r2.height)
//print(r.width)
struct Rect3 {
var width:Double
var height:Double
func getWidth() -> Double {
return width
}
}
/// 有构造函数 OC是没有的
var r3 = Rect3.init(width: 33.0, height: 33.0)
print(r3.getWidth())
类
class Rect5{
var width:Double = 0.0
var height:Double = 0.0
func show() {
print("width === \(width) height === \(height)")
}
}
/// 类没有逐一构造器
var rect5 = Rect5.init()
rect5.show()
var rect6 = rect5 /// 类的赋值 本质上是 指向相同的存储空间 。 所以修改其中一个,另一个的属性也会跟着变化
rect6.height = 444.0
rect5.show()
//// 恒等运算符 用于判断是否是同一个实例, 也就是是否指向同一块存储空间
if (rect6 === rect5){
print("指向同一段内存空间")
}
上一篇: Java核心技术-集合-映射
下一篇: java实现归并排序,快速排序