gpt4 book ai didi

swift - 为什么 Swift 在使用文字时会推断 double 值?

转载 作者:可可西里 更新时间:2023-11-01 00:39:01 24 4
gpt4 key购买 nike

我知道 Swift 对类型非常严格,不会隐式地将一种类型转换为另一种类型。

为什么这不会产生错误并且输出是 double 组?

let myDoubles = [Double.Pi, 42]

但是这样可以吗?

let fortyTwoInt = 42;
let myDoubles = [Double.Pi, one]

为什么它在第一个示例中隐式地将 42 转换为 42.0?如果不是类型转换,还会发生什么?

更简单的例子:

let someFloat = 2.0 + 2

对比

let twoInt = 2
let someFloat = 2.0 + twoInt

同样,后一个不起作用。

最佳答案

“ Actor ”在这里并不是真正正确的词。它将字符序列“4”和“2”解释为整数文字。 Double 符合 ExpressibleByIntegerLiteral,因此可以从中构造 Double

fortyTwoInt 不是整数文字。它是一个 Int。而且 Swift 不会在 IntDouble 之间自动转换。

关于swift - 为什么 Swift 在使用文字时会推断 double 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51429530/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com