一个网站服务器多少钱,网站开发验收报告,可不可以建网站做微商,企业wap网站模板一、函数的定义 #xff08;1#xff09;函数的定义格式 1 func 函数名(形参列表) - 返回值类型 {
2 // 函数体...
3
4 } #xff08;2#xff09;形参列表的格式 形参名1: 形参类型1, 形参名2: 形参类型2, … #xff08;3#xff09;举例#xff1a;计算2个…一、函数的定义 1函数的定义格式 1 func 函数名(形参列表) - 返回值类型 {
2 // 函数体...
3
4 } 2形参列表的格式 形参名1: 形参类型1, 形参名2: 形参类型2, … 3举例计算2个整数的和 1 func sum(num1: Int, num2: Int) - Int {
2 return num1 num2
3 } 4没有返回值的函数 如果函数没有返回值有3种写法 1 func 函数名(形参列表) - Void {2 // 函数体...3 }4 5 func 函数名(形参列表) - () {6 // 函数体...7 }8 9 func 函数名(形参列表) {
10 // 函数体...
11 } 5没有形参的函数 一个函数如果没有形参函数名后面的小括号也不能省略 1 func 函数名() - Int {
2 // 函数体...
3 } 上面的函数没有形参、返回值是Int类型 6返回元组的函数 一个函数也可以返回元组数据 1 func find(id: Int) - (name: String, age: Int) {
2 if id 0 {
3 return (jack, 20)
4 } else {
5 return (nobody, 0)
6 }
7 }
8 var people find(2)
9 println(name\(people.name), age\(people.age)) 二、外部参数名 1.简单说明 一般情况下通过形式参数的名字就能推断出这个参数的含义和作用 1 func addStudent(name: String, age: Int, no: Int) {
2 println(添加学生name\(name)age\(age)no\(no))
3 } 在函数内部一看参数名就知道这3个参数的作用 但是形式参数是用在函数内部的当调用函数时就看不见形参的名字有可能导致以后会不太明白每个参数的含义 对于addStudent(jack, 20, 19)一眼望去能猜出第1个参数jack是指姓名后面的20、19分别代表什么含义 为了解决上述问题Swift提供了外部参数名语法 外部参数名可以在调用函数时提醒每个参数的含义 2.定义 外部参数名的定义格式如下 1 func 函数名(外部参数名 形式参数名: 形式参数类型) - 返回值类型 {
2 // 函数体...
3 } 外部参数名写在形式参数名的前面与形式参数名之间用空格隔开 3.外部参数名的使用 1 func sum(number1 num1: Int, number2 num2: Int) - Int
2 {
3 return num1 num2
4 }
5 sum(number1: 10, number2: 20) // 调用函数 注意一旦定义了外部参数名在调用函数时就必须加上外部参数名 4.外部参数名的简写 使用#能简化外部参数名的定义 1 func sum(#num1 : Int, #num2 : Int)
2 {
3 return num1 num2
4 } 第1行代码的意思num1、num2既是形式参数名又是外部参数名 // 调用函数 sum(num1: 10, num2: 20) 三、默认参数值 1可以在定义函数时给形参指定一个默认值调用函数时就可以不用给这个形参传值 1 func addStudent(name: String, age: Int 20) {
2 println(添加1个学生name\(name)age\(age))
3 } addStudent(jack) age参数有个默认值20所以第4行调用函数时可以不传值给age参数 输出结果是 添加1个学生namejackage20 2带有默认参数值的形参Swift会自动给它生成一个跟形参名相同的外部参数名 age: Int 20相当于#age: Int 20 因此如果要传入age参数值时只能这么调用 addStudent(jack, age: 25) 3在带有默认参数值的参数名前加个下划线 _ 调用函数时就不用写外部参数名 1 func addStudent(name: String, _ age: Int 20) {
2 println(添加1个学生name\(name)age\(age))
3 }
4
5 addStudent(jack, 25) 四、常量和变量参数 默认情况下函数的参数都是常量参数不能在函数内部修改 1 func test(num: Int) {
2 num 10
3 }
4
5 func test(num: Int)参数相当于func test(let num: Int) 注意第2行代码会报错 在有些情况下可能需要在函数内部修改参数的值这时需要定义变量参数 在参数名前面加个var即可 1 func test(var num : Int) {
2 num 10
3 } // 编写函数在某个字符串的尾部拼接N个其他字符串 1 func append(var string: String, suffix: String, count: Int) - String
2 {
3 for _ in 0..count {
4 string suffix
5 }
6 return string
7 }
8 append(jack, ., 4) // 调用函数
9 // jack.... 五、输入输出参数 1.什么是输入输出参数 在C语言中利用指针可以在函数内部修改外部变量的值 在Swift中利用输入输出参数也可以在函数内部修改外部变量的值 输入输出参数顾名思义能输入一个值进来也可以输出一个值到外部 2.输入输出参数的定义 在参数名前面加个inout关键字即可 func swap(inout num1: Int, inout num2: Int) { } 3.代码示例写一个函数交换外部2个变量的值 1 func swap(inout num1: Int, inout num2: Int) {
2 let tempNum1 num1
3 num1 num2
4 num2 tempNum1
5 }
6 var a 20
7 var b 10
8 swap(a, b) // 传入的参数前面必须加上
9 // 执行完swap函数后a的值是10b的值是20 4.输入输出参数的使用注意 传递实参时必须在实参的前面加上 不能传入常量或者字面量比如10作为参数值因为它们都不可改 输入输出参数不能有默认值 输入输出参数不能是可变参数 输入输出参数不能再使用let、var修饰inout和let、var不能共存 输入输出参数的价值之一 可以实现函数的多返回值其实让函数返回元组类型也能实现返回多个值转载于:https://www.cnblogs.com/zengshuilin/p/5766680.html