使用let _ = ...
是否有任何用途?“让_ = ...”(让下划线相等)在Swift中有什么用处?
我看过What's the _ underscore representative of in Swift References?的问题和解答,我知道下划线can be used to represent a variable that isn't needed。
这将使意义,如果我只需要一个元组的一个值作为从上面的链接的例子:
do {
let _ = try DB.run(table.create(ifNotExists: true) {t in
t.column(teamId, primaryKey: true)
t.column(city)
t.column(nickName)
t.column(abbreviation)
})
} catch _ {
// Error throw if table already exists
}
我不:
let (result, _) = someFunctionThatReturnsATuple()
不过,我最近碰到this code来到如果我只删除let _ =
,就不会得到任何编译器警告或错误。在我看来,这更简单,更具可读性。代码的作者写了a book and a blog about Swift。我知道作者并不是绝对可靠的,但它让我怀疑是否有某些我错过的东西。
下面是一个例子,其中需要'_'的赋值以避免编译器警告未使用的结果:http:// stackoverflow。 COM/A /1187415分之32788209。 –
简而言之,'let _ ='明确表示程序员想要忽略方法调用的结果。 – Sulthan
分配给'_'时'let'似乎是可选的。博客作者这样做。 – vacawama