了解Swift的双打和整数

问题描述 投票:0回答:1

我以为我对Doubles和Ints有很好的了解,直到我偶然遇到以下代码。

令我惊讶的是,以下代码可以正常工作。

let amounts = [50, 5.0, 10]
var total = 0.0

for i in 0..<amounts.count {
  total += amounts[i]

  print("Total: \(total)")
}

...,但是如果我将5.0更改为1050甚至更改为5,它将停止工作,并产生以下错误。

错误:二进制运算符'+ ='无法应用于类型'Double'和'Int'的操作数

有人可以告诉我为什么混合505.010时代码不会中断?我觉得这行不通。

swift int double
1个回答
0
投票

在工作代码中,该数组是[Doubles]的数组,当您将5.0更改为10时,该数组是[Int]的数组,这是由于快速的类型推断。

因此

二进制运算符'+ ='不能应用于类型'Double'和'Int'的操作数

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.