美文网首页
iOS开发 - 「Swift 学习」Swift 函数(函数返回值

iOS开发 - 「Swift 学习」Swift 函数(函数返回值

作者: 俺不是大佬儿 | 来源:发表于2021-12-04 23:44 被阅读0次

Swift 函数的返回值类型

函数返回值类型可以是字符串,整型,浮点型等的常用数据类型也可以是元组。

函数返回值为元组类型

元组与数组类似,不同的是,元组中的元素可以是任意类型,使用的是圆括号。
可以用元组(tuple)类型让多个值作为一个复合值从函数中返回

//定义一个名为minMax(_:)的函数,函数体作用是在一个Int数组中找出最小值与最大值,minMax(_:)函数返回一个包含两个Int值的元组
func countMinMax(numbers:Array<Int>)->(min:Int,max:Int){
        var minNum = numbers[0]
        var maxNum = numbers[0]
        for value in numbers[1..<numbers.count] {
            if minNum > value {
                minNum = value
            }else if value > maxNum {
                maxNum = value
            }
        }
        return (minNum,maxNum)
}

//调用
let countResult = countMinMax(numbers: [1,2,3,4,5,6,7,8,9,10])
print("最小值:\(countResult.min),最大值:\(countResult.max)")
        //打印输出:最小值:1,最大值:10

当不确定返回的元组一定不为nil,此时可以返回一个可选的元组类型
可以通过在元组类型的右括号后放置一个问号来定义一个可选元组,例如(Int, Int)?(String, Int, Bool)?

\color{#EA0000}{注意:}
可选元组类型如(Int, Int)?元组包含可选类型如(Int?, Int?)是不同的.可选的元组类型,整个元组是可选的,而不只是元组中的元素值可选。

countMinMax(_ :)函数传入空数组参数时访问numbers[0]会报错,解决"空数组"问题,将countMinMax(_:)函数改写为使用可选元组返回类型,并且当数组为空时返回nil,改造后的函数如下:

//可选元组作为函数返回值
func upCountMinMax(numbers:Array<Int>)->(min:Int,max:Int)?{
        //数组参数值为空直接返回nil
        if numbers.isEmpty { return nil }
        var minNum = numbers[0]
        var maxNum = numbers[0]
        for value in numbers[1..<numbers.count] {
            if minNum > value {
                minNum = value
            }else if value > maxNum {
                maxNum = value
            }
        }
        return (minNum,maxNum)
}

//可选绑定调用
if let countResult = upCountMinMax(numbers: []){
      print("最小值:\(countResult.min),最大值:\(countResult.max)")
   }else {
      print("没有传参")
   }//打印输出:没有传参

没有返回值的函数

以下函数接收String类型参数,没有指定返回值类型,并直接输出 String 值,不是返回它

func myName(name:String){
     print(name)
}

\color{gray}{欢迎大佬儿来指正纠错,共同学习😏!!}

相关文章

网友评论

      本文标题:iOS开发 - 「Swift 学习」Swift 函数(函数返回值

      本文链接:https://www.haomeiwen.com/subject/xgcdxrtx.html