swift中具有多个参数的函数

Posted

技术标签:

【中文标题】swift中具有多个参数的函数【英文标题】:Function with multiple parameters in swift 【发布时间】:2019-01-16 11:19:07 【问题描述】:

我需要定义并调用一个名为areaOfRectangle 的函数,它接受两个Int 参数lengthwidth,并打印length * width 的结果。我实际上得到了length * width 的结果,但它告诉我要确保我定义了一个具有正确名称和参数的函数。下面的答案将打印length * width,这是正确的,但步骤不是应该的。

func areaOfRectangle(length: Int, width: Int) 

    print(“length * width”)



areaOfRectangle(length: 0, width: 0)

【问题讨论】:

查看Printing constants and Variables。 【参考方案1】:

您已经正确定义了函数,但在前面的语句中犯了一个小错误,因为它总是在输出控制台中将 length * width 打印为字符串而不是运算符或操作数。这是解决方案

func areaOfRectangle(length: Int, width: Int) 

    print("\(length * width)")



areaOfRectangle(length: 0, width: 0)

只是在打印语句中添加了'\'()

【讨论】:

希望这可以帮助您编写代码。如果您认为答案有帮助,请单击 TICK 符号并接受答案。谢谢【参考方案2】:

这是您可以从Int 参数中获得return 字符串结果的方式:

//define a return type as String here
func areaOfRectangle(length: Int, width: Int) -> String 
    print("\(length * width)")  //same thing you can print here 
    return "\(length * width)"  //return it as String


let result = areaOfRectangle(length: 5, width: 5)
print(result) //"25"

【讨论】:

我想打印“长度 * 宽度”所以答案是正确的,但步骤不正确。 你说的print是什么意思,能详细点吗?【参考方案3】:
print(“length * width”)

在此语句中,长度和宽度被视为字符串文字。任何出现在 "" 之间的东西至少在 swift 中都是字符串文字,在其他一些语言中也是如此。

通过将varslets 放在\() 中,Swift 提供了一个非常好的语法糖来使用字符串中的变量和常量。因此,当您将上述语句更正为print(“\(length * width)”) 时。它将打印长度*宽度的正确结果。

更新代码:

func areaOfRectangle(length: Int, width: Int) 
    print(“\(length * width)”) //42

areaOfRectangle(length: 6, width: 7)

【讨论】:

【参考方案4】:

说明: 具有多个参数的函数。,其中函数 greet 的参数为 alreadyGreeted 也是一个条件,当我们给出 person 的参数标签并且 bool 为真时,它会检查,我们调用它,函数将开始执行......条件被检查, .然后使用其参数标签调用 greetAgain 函数...并使用 greet-main 函数调用参数中的人名打印“hello Again”。

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。【参考方案5】:
func tenFuncReturn (_ a: Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> Int 
func one(b: Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> Int 
    func two(c: Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> Int 
        func three(d: Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> Int 
            func four (e: Int) -> (Int) -> (Int) -> (Int) -> (Int) -> (Int) -> Int 
                func five (f: Int) -> (Int) -> (Int) -> (Int) -> (Int) -> Int 
                    func six(g: Int) -> (Int) -> (Int) -> (Int) -> Int 
                        func seven(h: Int) -> (Int) -> (Int) -> Int 
                            func eight(i: Int) -> (Int) -> Int 
                                func nine(j: Int) -> Int 
                                    return a + b + c + d + e + f + g + h + i + j
                                
                                return nine
                            
                            return eight
                        
                        return seven
                    
                    return six
                
                return five
            
            return four
        
        return three
    
    return two

return one

打印(tenFuncReturn(2)(2)(2)(2)(2)(2)(2)(2)(2)(2))

【讨论】:

以上是关于swift中具有多个参数的函数的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Swift 4 中使用 Alamofire 上传具有其他参数的多个图像

如何在 Swift 中使用 Alamofire 与 Multipart 一起使用具有不同键和多种参数的多个图像

Swift - 在具有可选参数的泛型函数中以 Nil 作为参数

返回具有多个输入参数的函数的值以在同一类中具有多个参数的另一个函数中使用?

指向具有多个参数作为函数参数的函数的指针

具有多个参数的函数中的 Javascript 默认参数