函数
- 函数的定义
func name(parameters) -> return type {
function body
}
func 函数名(形参名1: 形参类型1, 形参名2: 形参类型2, ...) `->` 返回值 {
// 代码实现
}
/*函数如果没有返回值:
1. 省略
2. -> Void
3. -> ()
外部参数名,作用能够方便调用人员更好地理解函数的语义
带外部参数名的参数列表格式:
(外部参数名1 形式参数名1: 参数类型1, 外部参数名2 形式参数名2: 参数类型2, ...)*/
- 函数定义和调用
//: 定义函数
func sum(a: Int, b: Int) -> Int {
return a + b
}
//: 调用函数, b表示外部参数名
sum(10, b: 20)
//: 没有返回值
func sayHello() -> () {
print("hello")
}
sayHello()
-
外部参数名
- 在形参名前再增加一个外部参数名,能够方便调用人员更好地理解函数的语义
- swift2.0默认帮我们生成除第一个参数外的所有外部参数名
//: 为什么有外部参数名呢?
func addStudent(name: String, age: Int, number: Int) {
print("name = \(name), age = \(age), number = \(number)")
}
//: 如果没有外部参数名,我们很难判断每个参数的作用
//addStudent("zhangsan", 54, 53)
//: 有外部参数名,每个参数的作用一目了然,swift2.0默认帮我们生成除第一个参数外的所有外部参数名
addStudent("zhangsan", age: 54, number: 53)
//: 指定外部参数名
func addStudent2(stu_name name: String, stu_age age: Int, stu_number number: Int) {
print("name = \(name), age = \(age), number = \(number)")
}
addStudent2(stu_name: "zhangsan", stu_age: 54, stu_number: 53)
- 函数返回元组类型
/*:
在c语言中要返回多个值:
1.传参数时传入指针,在函数内部修改该指针指向的值
2.返回一个结构体
3.返回数组
*/
//: 在swift中可以通过返回元组来方便的返回多个值
func getStudent() -> (String, Int, Int) {
return ("liudehua", 54, 53)
}
//: student是一个(String, Int, Int)的元组
let student = getStudent()
//: 可以通过.0 .1 来访问
student.0
student.1
//: 函数通过元组返回多个值,并且为元组中的元素取名成,方便调用
func getStudent2() -> (name: String, age: Int, num: Int) {
return ("liudehua", 54, 53)
}
let student2 = getStudent2()
student2.name
student2.age
网友评论