我有这个非常简单的代码行
var dblArray : [Double] = [0.01]
var x = dblArray.last
println(x * x)
' .last' module返回数组的最后一个元素,即0.01。但是,根据操场辅助视图,它显示对var x的实际分配是(约0.01)。并且执行println将导致"可选0.01"
我希望完成的只是捕获最后一个元素的值并将其放在x中。
我在这里做错了什么?
答案 0 :(得分:1)
我非常肯定.last
有是可选的,如果只是为了处理空数组的边缘情况,.last
就没有意义了一个“坚实”的价值。
在任何情况下,如果您确定数组不会为空,只需打开该值即可。如果您不确定,那么您需要智能地检查,例如:
var x = 0
if let junk = dblArray.last {
x = junk
}
我认为这是正确的语法,我现在没有我的Mac,但它应该足够接近以显示这个概念。