Swift函数的使用

前端之家收集整理的这篇文章主要介绍了Swift函数的使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

函数

//1.定义函数

func 函数名(传入的值:String) ->String{

return 传入的值

}

//2.函数调用

let 传入值 = "hallow xiaozhou"

println("函数调用的结果为:\(函数(传入值))")

//函数调用的结果为:hallow xiaozhou

//3.函数的形式参数和它的返回值

//3.1多参和无参

//3.1.1 多参

func 长度(起始值:Int,终止值:Int) ->Int {

return 终止值 - 起始值

}

println("多参的最终结果为:\(长度(2,6))")

//多参的最终结果为:4

//3.1.2无参

func 问候语() -> String {

return "你好"

}

println("接电话时,礼貌的做法是:第一句说\(问候语())")

//接电话时,礼貌的做法是:第一句说你好

//3.2无返回值

func 显示并计数(字符串:String){

println("\(字符串)的长度为\(countElements(字符串))")

}

显示并计数("泪滴嘎嘎")

//泪滴嘎嘎的长度为4

//3.3多返回值(返回值为元祖)

func 取极值(数组:[Int]) -> (max:Int,min:Int) {

var 最大值 = 数组[0]

var 最小值 = 数组[0]

for 变数 in 数组 {

if 变数 > 最大值 {

最大值 = 变数

}elseif 变数 < 最小值 {

最小值 = 变数

}

}

return (最大值,最小值)

}

let array = [2,10,-1,23,72,7,1,100]

let (max,min) = 取极值(array)

println("数组\(array)中最大值为:\(max),最小值为:\(min)")

//数组[2,10,-1,23,72,7,1,100]中最大值为:100,最小值为:-1

//3.4可选元祖返回,添加"?"变为可选

func 取极值2(数组:[Int]) -> (max:Int,min:Int)? {

if 数组.isEmpty {

returnnil

}else{

var 最大值 = 数组[0]

var 最小值 = 数组[0]

for 变数 in 数组 {

if变数 > 最大值 {

最大值 = 变数

}elseif 变数 < 最小值 {

最小值 = 变数

}

}

return(最大值,最小值)

}

}

//[Int]()空数组

let 极值 = 取极值2([Int]())

println("极值为:\(极值)")

//极值为:nil

let 极值2 = 取极值2([1,2,3,4,0])

println("极值2:\(极值2)")

//极值2:(4,0)

//4.本地参数和外部参数

//4.1有外部参数的函数(姓名,性别都是外部参数)

func 个人信息(姓名 name:String,性别 sex:String) ->String{

return "你的姓名为:\(name),性别为:\(sex)"

}

let 信息 = 个人信息(姓名: "小周",性别:"")

println("个人信息:\(信息)")

//个人信息:你的姓名为:小周,性别为:

//4.2本地参数名和外部参数名的统一(#)

func 个人信息2(#姓名:String,#性别:String) ->String{

return "你的姓名为:\(姓名),性别为:\(性别)"

}

//调用结果与方式与有外部参数的函数一样,但这样更简洁

let 信息2 = 个人信息2(姓名: "小周",性别:"")

println("个人信息:\(信息2)")

//个人信息:你的姓名为:小周,性别为:

//5.参数默认值

func 个人信息3(姓名:String,性别:String ="") ->String {

return "你的姓名为:\(姓名),性别为:\(性别)"

}

//5.1调用方法一:不用默认值("性别:"->有参数默认值自动把本地参数变成外部参数名 )

let 信息3 = 个人信息3("小周",性别:"")

println("个人信息:\(信息3)")

//个人信息:你的姓名为:小周,性别为:

//5.2调用方法二:用默认值

let 信息4 = 个人信息3("小周")

println("个人信息:\(信息4)")

//个人信息:你的姓名为:小周,性别为:

//6.可变参数(数组集:Int...传的数组个数不一样),如果有多个参数,一定要把可变参数放在最后,不易混淆

func 求和(其他值:String,数字集:Int...) ->Int{

var 和 = 0

for in 数字集 {

和 += 值

}

return

}

//1,2,3,5数字集,还可以向后面添加值,如:1,5,6,8,4,9

let 和 = 求和("10",5)

println("和为:\()")

//和为:11

//7.可变参数

let 名字 = "小周"

//必须是”var“,不然默认是“let”,不可变

func 居右对齐(var 原文本:String,长度:Int,填充字符:String) ->String{

let 要填充的长度 = 长度 - countElements(原文本)

for _ in 1...要填充的长度 {

原文本 = 填充字符 + 原文本

//在原文本的前面添加填充字符

}

return 原文本

}

let b = 居右对齐(名字,"@")

println(b)

//@@@@@@@@小周

//8.In-Out参数(可以直接改变传进去参数的值)

func 交换值(inout a:Int,inout b:Int){

let tem= a

a = b

b = tem

}

var a1 = 10,a2 = -10

交换值(&a1,&a2)

println("a1原来的值为10,现在为\(a1),a2原来的值为-10,现在为\(a2)")

//a1原来的值为10,现在为-10,a2原来的值为-10,现在为10

//9.函数类型作为变量和常量

func 两个数相加(a:Int,b:Int)->Int {

returna+b

}

func 两个数相乘(a:Int,b:Int)->Int {

returna*b

}

var 临时 = 两个数相加

临时(2,5)//7

临时 = 两个数相乘

临时(2,5)//10

//10.函数类型作为参数

func 显示相乘结果 (a:Int,b:Int,相乘函数:(Int,Int) ->Int) {

let 结果 = 相乘函数(a,b)

println("\(a)\(b)等于\(结果)")

}

显示相乘结果(10,100,两个数相乘)

//10100等于1000

//11.嵌套函数函数里面有函数

func 判断加减(正:Bool) -> (Int)->Int {

//对外不可见

func 加(数:Int) ->Int{

return数+1

}

func 减(数:Int) ->Int{

return数-1

}

return 正 ? :

}

猜你在找的Swift相关文章