Swift 常数';soda1和x27;推断为具有类型';()';,这可能出乎意料

Swift 常数';soda1和x27;推断为具有类型';()';,这可能出乎意料,swift,constants,Swift,Constants,只是一个简单的小代码。它确实运行了,并输出了正确的结果,但我得到了一个错误:常量“soda1”推断为具有类型“()”,这可能是意外的。我不知道怎么修。 试图编写一个简单的程序来输出一升苏打水的价格 func sodaoffer(type: String, price: Double, size: Double, amount: Double = 1) { let priceL = price / (size * amount) print("\(type) costs \(pri

只是一个简单的小代码。它确实运行了,并输出了正确的结果,但我得到了一个错误:常量“soda1”推断为具有类型“()”,这可能是意外的。我不知道怎么修。 试图编写一个简单的程序来输出一升苏打水的价格

func sodaoffer(type: String, price: Double, size: Double, amount: Double = 1) {
    let priceL = price / (size * amount)
    print("\(type) costs \(priceL) per liter")
}

let soda1 = sodaoffer(type: "Cola", price: 15, size: 1.5)
let soda2 = sodaoffer(type: "Fanta", price: 50, size: 0.5, amount: 4)
let soda3 = sodaoffer(type: "Faxe Kondi", price: 25, size: 2)

您正在为变量分配一个返回()或Void(这意味着什么都没有)的函数

试着归还一些东西:

func makeSodaOfferString(type: String, price: Double, size: Double, amount: Double = 1) -> String {
    let priceL = price / (size * amount)
    return "\(type) costs \(priceL) per liter)"
}

let sodaOffer1 = makeSodaOfferString(type: "Cola", price: 15, size: 1.5)
let sodaOffer2 = makeSodaOfferString(type: "Fanta", price: 50, size: 0.5, amount: 4)
let sodaOffer3 = makeSodaOfferString(type: "Faxe Kondi", price: 25, size: 2)

print(sodaOffer1)
print(sodaOffer2)
print(sodaOffer3)
您希望让soda1=sodaoffer(…)做什么?