目录
嵌套类型
枚举常被用于为特定类或结构体实现某些功能。枚举可以方便的定义工具类或结构体,从而为某个复杂的类型所使用。为了实现这种功能,Swift 允许你定义嵌套类型,可以在支持的类型中定义嵌套的枚举、类和结构体。
要在一个类型中嵌套另一个类型,将嵌套类型的定义写在其外部类型的 {}
内,而且可以根据需要定义多级嵌套。
嵌套类型实践
一个结构体 BlackjackCard
(二十一点),用来模拟 BlackjackCard
中的扑克牌点数。BlackjackCard
结构体包含两个嵌套定义的枚举类型 Suit
和 Rank
。
struct BlackjackCard {
// 嵌套的 Suit 枚举 花色?
enum Suit: Character {
case spades = "♠", hearts = "♡", diamonds = "♢", clubs = "♣"
}
// 嵌套的 Rank 枚举 点数
enum Rank: Int {
case two = 2, three, four, five, six, seven, eight, nine, ten
case jack, queen, king, ace
struct Values { // Rank 枚举在内部定义了一个嵌套结构体 Values
let first: Int, second: Int?
}
var v