作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我知道 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 不会在 Int
和 Double
之间自动转换。
关于swift - 为什么 Swift 在使用文字时会推断 double 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51429530/
我创建了一个分支来开发新功能。由于这个新功能完全是作为一个新项目开发的,唯一可能的冲突来源是解决方案文件。 随着功能的开发,主分支更新了几次。当我完成开发和测试时,我做了: git checkout
我是一名优秀的程序员,十分优秀!