Swift中基本运算符的一些注意事项

今天被一朋友问到为什么在swift中一个整数不能与浮点数相乘呢?我说怎么会呢,你发来我看看什么情况。

大概是这样的一个场景(举个简单的例子)


1

说实话,我以前真没考虑过这个问题。不过13已经装了,跪着也要装完。
这点小问题还是难不倒我的,不就是动个手指点进去看看文档的事吗。

let s = Double(i) * f

接着他又问,那为什么这样就可以

let s = 2*3.4

这不是很明显的,这里的2(这哥们确实够二)就是个double类型吗,但他为什么是double呢?

为什么?当然是看文档了

2
  1. Swift中的乘法用泛型限定了左边和右边以及返回值类型必须一致。这里学过Java的应该一下就能看的出来,若是类型不一致应该T,U,V,这么一些不一样的字母。

  2. 又因为Swift是可以自动推断类型的,所以这里的2就被自动推断为Double类型了。为什么不是把3.4推断成Int类型呢(乔老爷死了,苹果也不至于变得这么low吧)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容