枚举
使用 enum
来创建枚举。
枚举也能够包含方法
。
enum Rank: Int {
case ace = 1
case two, three, four, five, six, seven, eight, nine, ten
case jack, queen, king
func simpleDescription() -> String {
switch self {
case .ace:
return “ace”
case .jack:
return “jack”
case .queen:
return “queen”
case .king:
return “king”
default:
return String(self.rawValue)
}
}
}
let ace = Rank.ace
let aceRawValue = ace.rawValue
默认情况下,Swift 从零开始给原始值赋值后边递增
,但你可以通过指定特定的值来改变这一行为。
在上边的栗子当中,原始值的枚举类型是 Int
,所以你只需要确定第一个原始值。剩下的原始值是按照顺序指定的。
你同样可以使用字符串
或者浮点数
作为枚举的原始值。使用 rawValue
属性来访问枚举成员的原始值。
使用 init?(rawValue:) 初始化器来从一个rawValue
创建枚举的实例。
if let convertedRank = Rank(rawValue: 3) {
let threeDescription = convertedRank.simpleDescription()
}
结构体
使用 struct
来创建结构体。
结构体提供很多类似与类的行为,包括方法
和构造函数
。其中最重要的一点区别就是结构体总是会在传递的时候拷贝
其自身,而类则会传递引用
。
struct Card {
var rank: Rank
var suit: Suit
func simpleDescription() -> String {
return “The \(rank.simpleDescription()) of \(suit.simpleDescription())”
}
}
let threeOfSpades = Card(rank: .three, suit: .spades)
let threeOfSpadesDescription = threeOfSpades.simpleDescription()
Swift学习群
欢迎加入本人的Swift学习微信群,一同互相监督学习,我微信:reese90