gpt4 book ai didi

Swift "switch case"缩写语法

转载 作者:搜寻专家 更新时间:2023-11-01 06:06:21 24 4
gpt4 key购买 nike

在阅读有关一副纸牌的教程时,here ,我发现:

enum Suit: Int, CustomStringConvertible {
case Clubs = 1, Diamonds, Hearts, Spades

var description: String {
return ["♣️", "♦️", "❤️", "♠️"][rawValue - 1]
}
}

在 Playground 上运行良好。我知道它应该是一个简短的语法:

enum Suit: Int, CustomStringConvertible {
case Clubs = 1, Diamonds, Hearts, Spades

var description: String {
switch self {
case .Spades:
return "♠️"
case .Clubs:
return "♣️"
case .Diamonds:
return "♦️"
case .Hearts:
return "♥️"
}
}
}

我找不到关于此语法的任何文档。它是否有名称或在官方文档或任何其他地方有描述?感谢您的贡献。

最佳答案

这本身并不是什么特殊语法。这是两个不同的东西:

  1. 数组文字,["♣️", "♦️", "❤️", "♠️"]这是一个Array<String>又名 [String]

  2. 数组下标语法:myArray[i]或者,在这种情况下,array[rawValue - 1]其中 array是#1 中的文字。

["♣️", "♦️", "❤️", "♠️"][rawValue - 1]只是意味着 rawValue - 1该数组的第 th 个条目。它依赖于枚举是用 enum Suit: Int 声明的事实。这样每个值都有一个基础 rawValue .

关于Swift "switch case"缩写语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36278699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com