美文网首页
Swift学习Day3-----函数

Swift学习Day3-----函数

作者: 小破孩丫 | 来源:发表于2016-01-28 14:55 被阅读10次

    函数

    1.基本使用:func来声明一个函数,使用名字和参数来调用函数,使用->来指定函数返回值,例如:

    func sum(x1:Int,x2:Int)->Int{

    return x1+x2

    }

    2.使用元组返回多个值

    func calculateCount(string:String)->(Int,Int,Int){

                 var vow = 0, con = 0, oth = 0

                 for character in string.characters{

                switch String(character).lowercaseString{

                     case "a","e","i","o","u":

                     ++vow

                    case "b","c","d","f","g","h","j","k","l","m","n","p","q","r","s",      "t","v","w","x","y","z":

                    ++con

                  default:

                   ++oth

              }

        }

               return(vow,con,oth)

    }

    3.函数的参数数量是可变的,用一个数组来获取,例如:

     func sumOf(numbers :Int...)->Int{

                  var sum :Int = 0

                  for number in numbers{

                         sum = sum + number

              }

                        return sum

      }

         print("sum = " + String(sumOf(1,2,3,4)))

    4.函数可以嵌套函数。

    被嵌套的函数可以访问外侧函数的变量,使用嵌套函数来重构一个太长或者太复杂的函数

    func addCount(numbers : Double...){

               func add(var y:Int)->Int{

                             y += 5

                            return y

              }

                     print(add(10))

    }

    5.函数可以作为另一个函数的返回值

    func isNow()->(Bool ->Int){ // (Bool ->Int)是将要调用函数的参数和返回值

    func isToday(time: Bool)-> Int{

    if time == true{

    print("今天")

    return 1

    } else{

    print("非今天")

    return 2

    }

    }

    return isToday

    }

    var now = isNow()

    now(false)

    6.函数当做参数传入另一个函数

    // 小于20的数字

    func lessThanTwenty(list:Int...)->Bool{

    for num in list{

    if num < 20{

    return true

    }

    }

    return false

    }

    // 奇数

    func singleNum(num:Int..., condition:(Int...)-> Bool) -> [Int]{

    var singleNumList = [Int]()

    for item in num {

    if condition(item) && item % 2 != 0{

    singleNumList.append(item)

    }

    }

    return singleNumList

    }

    print(singleNum(1,5,7,23, condition: lessThanTwenty))

    7.函数参数名

    外部参数名:有时当你调用一个函数将每个参数进行命名是非常有用的,以表明你传递给函数的每个参数的目的。

    如果你希望用户函数调用你的函数时提供参数名称,除了设置本地地的参数名称,也要为每个参数定义外部参数名称。你写一个外部参数名称在它所支持的本地参数名称之前,之间用一个空格来分隔:

    func lessThanTwenty(outList list:Int...)->Bool{

    for num in list{

    if num < 20{

    return true

    }

    }

    return false

    }

    lessThanTwenty(outList: 1)

    相关文章

      网友评论

          本文标题:Swift学习Day3-----函数

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