永久值永远不会用于循环

时间:2018-01-31 20:56:21

标签: swift swift-playground

我正在学习Swift并在Xcode 9.2中开始使用Playground。我已经获得了以下代码,当它按预期运行时,它会给我一个警告信息。这是什么意思?我尝试在其他地方搜索,但我无法找出它为什么会发出警告。

for myCounter in 1...3 {

    print("My counter")

}

警告:

  

不变价值' myCounter'从未使用过;考虑替换为' _'或删除它

我试着按照它说的做,它似乎工作,并没有返回任何警告,但为什么会有所作为?

for _ in 1...3 {

    print("My counter")

}

这里的区别是什么?为什么会导致这种情况?

2 个答案:

答案 0 :(得分:4)

警告告诉你没有使用myCounter做任何事情,当你不关心Swift中的某些事情时你使用_告诉编译器你的意图是不使用那个值

如果您开始使用值

,警告也会消失
for myCounter in 1...3 {
    print("My counter: \(myCounter)")

}

答案 1 :(得分:1)

Swift有一个优化的智能编译器。您将1,2和3分配到变量存储中,没有任何意义;你永远不会使用那个变量。这样就浪费了时间和存储空间。因此,编译器警告您试图让您改进程序。你做到了。它停止了警告。