我自己教自己Swift,我在return
的{{1}}收到错误。它说func calculateTaxes
。我的问题是Double is not convertible to ()
是什么意思?
()
答案 0 :(得分:3)
您忘了指定返回类型(Double):
func calculateTaxes(percentage: Double)->Double {
return (amount*(percentage/100))
}
答案 1 :(得分:0)
什么()实际上意味着是Void,在这种情况下它是函数的返回值(即什么都没有)。没有指定返回值的函数的返回值为void,这就是
的原因func printHelloWorld() {
println("Hello World")
}
与
相同func printHelloWorld() -> () { // Not good.
println("Hello World")
}
你永远不应该使用后一种形式,因为它不会给代码带来额外的价值,并使函数声明更加模糊。
在你的情况下,问题是函数的返回值现在是Void,即使它应该是Double(taxOwed是Double)。你可以通过放置" - >来修复它。双"在大括号之前:
func calculateTaxes(percentage: Double) -> Double {
var taxOwed = (self.amount*(percentage/100))
return taxOwed
}
有关函数及其返回值的更多信息,请参阅:https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Functions.html
我还建议阅读整本The Swift Programming Language一书,因为它提供了很多有关该语言的详细信息。