我对我在SWIFT编程语言(SWIFT 5.7)中发现的SWIFT中的for循环感到困惑.代码如下:

let interestingNumbers = [
    "Prime": [2, 3, 5, 7, 11, 13],
    "Fibonacci": [1, 1, 2, 3, 5, 8],
    "Square": [1, 4, 9, 16, 25],
]
var largest = 0
for (_, numbers) in interestingNumbers {
    for number in numbers {
        if number > largest {
            largest = number
        }
    }
}
print(largest)

我尤其对第7行感到困惑,在模式"for (String, Int) in sth"中使用了for循环.当我用另一个文本替换_时,该文本永远不会出现在响应中.谁能告诉我如何使用这种for循环,以及这种for循环类型与其他类型的区别是什么?

推荐答案

当一个字典被视为一个序列时,如本例所示,其元素为(Key, Value).所以这里的_是说算法不需要密钥.只有值被绑定,如numbers(整数数组).

编写此循环的另一种等价方式是:

for numbers in interestingNumbers.values { ... }

这将避免扔掉 keys .

Swift相关问答推荐

限制文本字段中的字符数- Swift

Swift UI在视图中排序不同的 struct

在visionOS RealityView中使用.GenerateText时,未显示Reality Composer Promaterial 纹理

在SwiftUI中判断选项时避免重复查看

同时具有每个文本的标识符的文本组的可扩展性标识符

找出touch 点的屏幕亮度

解码 JSON 时 Swift Struct Decoder 初始化程序错误

如何将变量添加到不属于可解码部分的 struct ?

如何判断一个值是否为 Int 类型

如何使用带有 span 样式标签的 Swift XMLParser

为什么 SwiftUI 不在工具栏菜单中反映 @State 属性值?

在 Select 器上显示alert Select SwiftUI

如何快速制作虚线?

Swift 2 中的新 @convention(c):我该如何使用它?

使 struct 可散列?

如何轻松删除领域中的所有对象

在 Swift 中,你可以用另一个字符串分割一个字符串,而不仅仅是一个字符吗?

Swift:创建 UIImage 数组

Swift 的 JSONDecoder 在 JSON 字符串中有多种日期格式?

Swift 2.0 最低系统版本要求(部署目标)