swift学习记录(函数)

函数

完成某种功能的代码块,可以独立存在。放在类和结构体中,则称之为方法

定义:

 使用 关键字 func 定义一个函数

 基本语法:

func 函数名 (参数列表) -> 返回值类型{

语句组

return 返回值

}

参数列表中的多个参数之间 用 逗号(,)隔开。也可以没有参数。

使用箭头 -> 指示返回值类型,没有返回值,则省略。如果有多个返回值,可以借助 元组

代码实例:

<span style="font-size:14px;">//无参数和返回值
func noParamNoReturn(){
    print("没有参数和返回值")
}

//有一个参数无返回值
func hasParamNoReturn(param:String){
    print("传入的参数为\(param)")
}

//无参数有一个返回值
func noParamHasReturn()->Int{
    return 100
}

//有多个参数 和 多个返回值
func hasParamsAndReturns(index : Int,name :String,weight:Float)->(Int,String,String){
    return(index+100,name,"\(weight)kg")
}</span>
函数的调用

<span style="font-size:14px;">//函数的调用
noParamNoReturn()
hasParamNoReturn("函数")
var value = noParamHasReturn()
print(value)
var values = hasParamsAndReturns(1, name: "张三", weight: 40.5)
print(values)</span>

打印的结果

<span style="font-size:14px;">没有参数和返回值
传入的参数为函数
100
(101, "张三", "40.5kg")</span>

从打印的结果可以看出,当有多个返回值时,返回值为一个元组

几种不同的参数形式:

1,外部参数名

外部参数名,就是为每个参数起一个别名,供我们调用的时候 使用

<span style="font-size:14px;">func hasParamsAndReturns( i index : Int, n name:String, w weight:Float)->(Int,String,String){
    return(index+100,name,"\(weight)kg")
}

hasParamsAndReturns(i: 1, n: "张三", w:40.5)</span>

代码参数列表中的 i 、n 和 w 就是外部参数名。使用了外部参数名,在调用的时候必须使用外部参数名。


2,省略外部参数名

在定义函数是,使用下划线( _ )表示外部参数名

<span style="font-size:14px;">func hasParamsAndReturns(index : Int, _ name:String, _ weight:Float)->(Int,String,String){
    return(index+100,name,"\(weight)kg")
}

hasParamsAndReturns(1, "张三", 40.5)</span>

参数列表中的第一参数不需要使用下划线( _ ),第一参数名默认是省略的,调用的时候 不写。


他们的区别:

不适用外部参数名,调用函数时,第一个参数名默认省略,其余的参数都要写参数名;

使用了外部参数名,调用函数时,必须使用外部参数名;

使用了省略外部参数名,调用函数时,不写参数名。

参数的默认值

在定义函数的时候,可以为参数设置默认值,调用的时候可以忽略该参数

<span style="font-size:14px;">func sayHello(name :String = "张三")->String{

    return "\(name) say Holle"
}
print(sayHello())
print(sayHello("李四"))
//张三 say Holle
//李四 say Holle</span>
可变参数

参数个数可以变化,但是参数的数据类型必须相同,调用的时候,每个参数之间用逗号( , )隔开

<span style="font-size:14px;">func sum(nums :Int...)->Int{

    var total:Int = 0
    for num in nums{
        total += num
    }

    return total
}

print(sum(10,2,1,13))
//26</span>
<span style="color: rgb(102, 102, 102); font-family: STHeiti; line-height: 25px; word-spacing: 3px;"><span style="font-size:14px;">注意:一个函数最多只能由一个可变参数,它必须是参数列表的最后的一个。这样做是为了避免函数调用时出现歧义。</span></span>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值