永远不会在 for in 循环中使用的不可变值
Immutable value never used in for in loop
我正在学习 Swift 并在 Xcode 9.2 中开始了 Playground。我有以下代码,虽然它是预期的 运行,但它给了我一条警告消息。这是什么意思?我尝试在其他地方搜索,但我无法找出为什么 return 发出警告。
for myCounter in 1...3 {
print("My counter")
}
警告:
Immutable value 'myCounter' was never used; consider replacing with '_' or removing it
我尝试按照它说的去做,它似乎有效并且没有 return 任何警告,但为什么会有不同?
for _ in 1...3 {
print("My counter")
}
这里有什么区别,为什么会这样?
警告告诉你你没有使用 myCounter
做任何事情,当你不关心 Swift 中的某些东西时,你使用 _
告诉编译器你的意图就是不要使用那个值。
如果您开始使用以下值,警告也会消失:
for myCounter in 1...3 {
print("My counter: \(myCounter)")
}
Swift 有一个优化的智能编译器。您将 1、2 和 3 分配到变量存储中,没有任何意义;你永远不会使用那个变量。所以这是浪费时间和存储空间 space。因此编译器 警告 你试图让你改进程序。你做到了。它停止了警告。
我正在学习 Swift 并在 Xcode 9.2 中开始了 Playground。我有以下代码,虽然它是预期的 运行,但它给了我一条警告消息。这是什么意思?我尝试在其他地方搜索,但我无法找出为什么 return 发出警告。
for myCounter in 1...3 {
print("My counter")
}
警告:
Immutable value 'myCounter' was never used; consider replacing with '_' or removing it
我尝试按照它说的去做,它似乎有效并且没有 return 任何警告,但为什么会有不同?
for _ in 1...3 {
print("My counter")
}
这里有什么区别,为什么会这样?
警告告诉你你没有使用 myCounter
做任何事情,当你不关心 Swift 中的某些东西时,你使用 _
告诉编译器你的意图就是不要使用那个值。
如果您开始使用以下值,警告也会消失:
for myCounter in 1...3 {
print("My counter: \(myCounter)")
}
Swift 有一个优化的智能编译器。您将 1、2 和 3 分配到变量存储中,没有任何意义;你永远不会使用那个变量。所以这是浪费时间和存储空间 space。因此编译器 警告 你试图让你改进程序。你做到了。它停止了警告。