这是
Swift编程的第一天,直到现在我们正在使用Objective C.我试图编写简单的加法程序.喜欢,
var i = 10 var j = 10 var k = i + j println(k)
但是当我将其中一个值更改为float时会给出错误.
var i = 10 var j = 10.4 var k = i + j println(k)
Error: main.swift:13:11: Could not find an overload for ‘+’ that
accepts the supplied arguments
现在我做了Google搜索,尝试了几件事情双(i j),但它不工作.在这种情况下,Swift应该将int转换为float,不是吗?
请提出我是否在做任何错误的了解Swift语言.
根据您想要的结果,您应该使用该类型的init方法将其转换为适当的类型.
例如.
var myInt = 5; var myDouble = 3.4;
如果我想要一个双重的例子在我的结果
var doubleResult = Double(myInt) + myDouble;
如果我想要一个整数,请注意,double将被截断.
var intResult = myInt + Int(myDouble)
我在示例中看到的问题是您正在尝试添加操作,然后将其转换,但是在执行添加之前,两个值都必须相同.
苹果已经使其安静严格,以避免类型错配和转换错误.有时这对于来自其他语言的开发来说可能会有点“太严格”,但我很开心,但我习惯了.