美文网首页
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