一、函数
1、定义一个无参无返回值的函数并进行调用:
func eat(){
print(“eating”)
}
调用函数: eat()
2、定义一个有参数无返回值的函数
func drink( a: Int , b: Int){ //格式:func 函数名(参数名称:参数类型)
print( a + b)
}
调用函数:drink( 10, 20)
3、定义一个有参有返回值的函数
func relax(a: Int, b: Int) ->Int { //格式:func 函数名(参数名称:参数类型)-> 返回值类型
return a - b
}
调用函数:var result1 = relax(30, b: 10)
4、元组作为函数的返回值
func run(a: Int , b: Int) ->(a1: Int, b1:Int) {
return (a * 10, b * 10)
}
var r = run(10 , 12) //得到 r 为元组, r.a1 和 r.b1 访问元组内的元素
5、多参量函数 。 函数可以有多种不同类型的参数
//函数一:
func greet(personName: String) ->String {
return “ni hao” + presonName
}
//函数二:
fun greetAgain(personName: String) -> String {
return “ni hao a” + personName
}
//实现多参量函数
fun sayHello(personName: String, alreadyGreet: Bool) -> String {
if alreadyGreet {
return greetAgain(personName)
}else {
return greet(personName)
}
}
print(sayHello(“夜凰”, alreadyGreet: false))
6、函数的外部参数。
主要是为了指明每个参数代表的意义
func login(userName para1: String , passWord para2: String) {
print(“用户名 (para1)”) // userName 和 passWord 变为外部参数
}
login(userName: “墨觞”,passWord: “12456”)
//忽略参数
func jump(para1: String , _ para2: String) {
}
jump (“123”, “456”) //由于下划线的原因,
7、函数的默认参数值
func fly(a: Int, b: Int = 10) -> Int{
return a * b
}
var f = fly(20) //结果:200
var f1 = fly(20, b: 30) //两种方法调用,默认的初始值可以用,可以不用。
8.定义可辨参数的函数
通过 …使得函数的参数个数是动态的,函数的参数必须为统一类型
fun sum(numbers: Int…) -> Int { //传入的参数类型必须全部为Int类型
var result1 = 0
for index in numbers {
result1 += index
}
return result1
}
var sumResult = sum(12, 3, 4, 56)
print(sumResult)
9、函数的常量参数和变量参数
默认情况下,函数的参数默认为常量let类型
func swim(var a: Int, b: Int) -> Int {
a += 10;
return a
}
var s = swim(10, b: 12)
print(s)
10、函数的输入输出函数
使用inout关键字来定义,只有变量才能作为函数的输入输出参数
func change(inout a: Int , inout b: Int) {
let temp = a
a = b
b = temp
}
var c1 = 10
var c2 = 15
change(&c1, b: &c2) //&说明是输入输出参数
11、函数类型的使用
func add(a: Int, b: Int) ->Int {
return a + b
}
fun sub(a: Int, b: Int) ->Int {
return a - b
}
共同特点:参数类型一致 (Int , Int)-> Int
形式一:把函数类型作为类型标注使用
var re1: (Int, Int) -> Int = add
var finalRe2 = re1(10, 5)
形式二:函数类型作为参数类型
func hehe(a: (Int, Int) -> Int , b: Int , c : Int) -> Int {
return a(b , c)
}
var h = hehe(sub , 10, 5)
形式三:函数类型作为函数的返回类型
func text(a: Int, b: Int) ->(Int, Int) ->int { //后面的(Int, Int) ->int 这是一个整体
if a + b > 10 {
return sub
}else {
return add
}
}
var t = test(5, b: 7)
print(t(100, 200)) //结果为:-100
网友评论