Swift Compiler Error: Cannot convert value of type '()' to specified type 'String'
Swift Compiler Error: Cannot convert value of type '()' to specified type 'String'
我正在使用 Swift 游乐场,并在 Swift.
简介的第 9 课中学习参数
func sing(verb: String, noun: String) {
print("\(verb), \(verb), \(verb) your \(noun)")
}
let line = sing(verb: "Row", noun: "Boat")
最后一行给了我这个警告:
Constant 'line' inferred to have type '()', which may be unexpected.
当我将常量显式定义为字符串时—let line: String = sing(verb: "Row", noun: "Boat")
—我收到以下错误:
error: cannot convert value of type '()' to specified type 'String'
我不知道该怎么做才能解决这个问题。
旁注:如果您对如何使函数读起来更像一个句子有任何建议,我将不胜感激!
您的函数 sing()
不是 returning 一个 String
对象。
因此您不能使用 variable = void function()
,因为它不是有效的赋值操作。
您可以将 String
指定为 sing()
的 return 类型,并且 return 您正在函数中打印的字符串。那将解决您的问题。
func sing(verb: String, noun: String) -> String {
return "\(verb), \(verb), \(verb) your \(noun)"
}
let line = sing(verb: "Row", noun: "Boat")
我正在使用 Swift 游乐场,并在 Swift.
简介的第 9 课中学习参数func sing(verb: String, noun: String) {
print("\(verb), \(verb), \(verb) your \(noun)")
}
let line = sing(verb: "Row", noun: "Boat")
最后一行给了我这个警告:
Constant 'line' inferred to have type '()', which may be unexpected.
当我将常量显式定义为字符串时—let line: String = sing(verb: "Row", noun: "Boat")
—我收到以下错误:
error: cannot convert value of type '()' to specified type 'String'
我不知道该怎么做才能解决这个问题。
旁注:如果您对如何使函数读起来更像一个句子有任何建议,我将不胜感激!
您的函数 sing()
不是 returning 一个 String
对象。
因此您不能使用 variable = void function()
,因为它不是有效的赋值操作。
您可以将 String
指定为 sing()
的 return 类型,并且 return 您正在函数中打印的字符串。那将解决您的问题。
func sing(verb: String, noun: String) -> String {
return "\(verb), \(verb), \(verb) your \(noun)"
}
let line = sing(verb: "Row", noun: "Boat")