基础部分-函数

函数参数名称(Function Parameter Names)
函数参数都有一个外部参数名(external parameter name)和一个局部参数名(local parameter name)。外部参数名用于在函数调用时标注传递给函数的参数,局部参数名在函数的实现内部使用。

func someFunction(firstParameterName:Int,secondParameterName: Int) { 
// function body goes here 
// firstParameterName and secondParameterName refer to 
// the argument values for the first and second parameters
}
someFunction(1, secondParameterName: 2)

一般情况下,第一个参数省略其外部参数名,第二个以及随后的参数使用其局部参数名作为外部参数名。所有参数必须有独一无二的局部参数名。尽管多个参数可以有相同的外部参数名,但不同的外部参数名能让你的代码更有可读性。

指定外部参数名(Specifying External Parameter Names)

你可以在局部参数名前指定外部参数名,中间以空格分隔:

func someFunction(externalParameterName localParameterName: Int) { 
// function body goes here, and can use localParameterName 
// to refer to the argument value for that parameter
}

注意如果你提供了外部参数名,那么函数在被调用时,必须使用外部参数名。

外部参数名和局部参数名什么用?没搞明白

输入输出参数(In-Out Parameters)

变量参数,正如上面所述,仅仅能在函数体内被更改。如果你想要一个函数可以修改参数的值,并且想要在这些修改在函数调用结束后仍然存在,那么就应该把这个参数定义为输入输出参数(In-Out Parameters)。

函数类型(Function Types)
每个函数都有种特定的函数类型,由函数的参数类型和返回类型组成。

func addTwoInts(a: Int, _ b: Int) -> Int {
 return a + b
}
func multiplyTwoInts(a: Int, _ b: Int) -> Int {
 return a * b
}

这个例子中定义了两个简单的数学函数:addTwoInts
和 multiplyTwoInts。这两个函数都接受两个 Int值, 返回一个Int
值。这两个函数的类型是 (Int, Int) -> Int,可以解读为“这个函数类型有两个 Int型的参数并返回一个 Int型的值。”

使用函数类型(Using Function Types)
在 Swift 中,使用函数类型就像使用其他类型一样。例如,你可以定义一个类型为函数的常量或变量,并将适当的函数赋值给它:

var mathFunction: (Int, Int) -> Int = addTwoInts

“定义一个叫做 mathFunction的变量,类型是‘一个有两个 Int型的参数并返回一个 Int 型的值的函数’,并让这个新变量指向 addTwoInts
函数”。

现在,你可以用 mathFunction来调用被赋值的函数了:

print("Result: \(mathFunction(2, 3))")// prints "Result: 5"

函数类型作为参数类型(Function Types as Parameter Types)

函数类型作为返回类型(Function Types as Return Types)
你可以用函数类型作为另一个函数的返回类型。你需要做的是在返回箭头(->)后写一个完整的函数类型。

嵌套函数(Nested Functions)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容