网站 建设 拖拉 源码 系统程序员不是做网站的
网站 建设 拖拉 源码 系统,程序员不是做网站的,wordpress按钮下拉菜单,武昌做网站jw100枚举#xff1a;一组相关的值定义了一个共同的类型#xff0c;使你可以在代码中以类型安全的方式来使用这些值。 1.枚举语法 //枚举成员不会被赋予默认的整型值。成员本身就是完备的值#xff0c;类型为CompassPoint。
enum CompassPoint {case northcase southcase eastcas… 枚举一组相关的值定义了一个共同的类型使你可以在代码中以类型安全的方式来使用这些值。 1.枚举语法 //枚举成员不会被赋予默认的整型值。成员本身就是完备的值类型为CompassPoint。
enum CompassPoint {case northcase southcase eastcase west
}
//或者
enum Planet {case mercury, venus, earth
}2.枚举的使用 var direction CompassPoint.west
//direction: 已被推断类型所以下次给他赋值的时候
direction .east3.使用Switch语句匹配枚举值 direction .south
switch direction {case .north:print(north)case .south:print(south)case .east:print(east)case .west:print(west)
}
//强调判断枚举的全部成员如果没有判断全部成员则报错。所以在不需要判断全部成员时使用default。
switch direction {case .north:print(north)default:print(其他)
}4.枚举成员的遍历 enum CompassPoint: CaseIterable {
// CaseIterable : 协议case coffee, tea, juice
}
let number CompassPoint.allCases.count
// allCases:包含所有枚举成员的集合方法
print(\(number))//或者
for com in CompassPoint.allCases{print(com)
}5.关联值 enum Barcode {case upc(Int, Int, Int, Int)case qrCode(String)
}
var product Barcode.upc(8, 85909, 51226, 3)
product .qrCode(ABCDEFG)switch product {case .upc(let n, let m, let p, let c):print(upc:\(n), \(m), \(p), \(c))case .qrCode(let pc):print(QR code:\(pc).)
}
//简洁后
switch product {case let .upc(n, m, p, c):print(upc:\(n), \(m), \(p), \(c))case let .qrCode(pc):print(QR code:\(pc).)
}6.原始值 原始值定义枚举时被预先填充的值。 enum ASCIICharacter: Character {case tab \tcase lineFeed \hcase carriageReturn \r
}7.原始值的隐式赋值 (1)整数为原始值时隐式赋值递增1。未设置原始值时默认为0之后递增1. enum Planet: Int {case m 1, n, r, j //只为m赋原始值1
}
var x Planet.n //创建枚举变量x x的值为n
var y x.rawValue //通过rawValue属性来获取枚举的原始值
print(y) //y的值为2(2)字符串为原始值隐式赋值为枚举成员的名称。 enum CompassPoint: String {case north, south, east, west //他们的原始值为north, south, east, west
}8.使用原始值初始化枚举实例 let poss Planet(rawValue: 7)
//poss:返回名称。如果没有则返回nil。 7:要查找的值。9.递归枚举 enum Arith {case number(Int)indirect case add(Arith, Arith) //indirect :可递归indirect case mul(Arith, Arith)
}
//简化
indirect enum Arith { //indirect :所有成员可递归case number(Int)case add(Arith, Arith)case mul(Arith, Arith)
}
//使用
let five Arith.number(5)
let four Arith.number(4)
let sum Arith.add(five, four)
let product Arith.mul(sum, Arith.number(2))
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/87555.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!