Swift 隨記 01 (函數)

-函數:函數

** 函數的參數的注意事項:**

       
         1.忽略外部參數名
     若是開發者不想第二個及後續的參數設置參數名,能夠使用下一個下劃線 (_) 來代替一個明確的參數名。

     
   func sum(value:Int,_ value2:Int) -> Int {
    
        return value + value2
   }
      
     sum(value: 234, 343)
     

         2.爲參數設置默認值
     開發者能夠再函數體中爲每一個參數定義默認值(Deafult Values)。當默認值定義完後,調用這個函數時能夠忽略這個參數。


    
    func printInt(Start:Int=0,end:Int=5) {
    
        for i in  Start ..< end {
    
           print(i)
         
          }
      }

      printInt()


      輸出結果:
      0
      1
      2
      3
      4
    


          3.可變參數
    使用可變參數,能夠是一個參數接受零個或多個指定類型的值。設定一個可變參數須要在參數類型名後添加 「...」。
    例:求幾個數的平均值的功能。

    
func average(num:Double...){
    var total : Double = 0
    
    for i in num {
        total += i
    }
    
    print(total/Double(num.count))
}

average(num: 1,2,3,4,5,6)

average(num: 10,20,30)


輸出結果:
3.5
20.0
    
  
            4.輸入-輸出參數
     若是開發者想用一個函數來修改參數的值,而且想讓這些變化在函數調用後仍然有效。這時,須要定義輸入-輸入參數。他的定義是經過在參數名前加 inout 關鍵字。
     
     func 函數名(inout 參數名:數據類型, ......){
        ......  ......
     }

     輸入-輸出參數都有一個傳遞給函數的值,將函數修改後,再從函數返回來替換原來的值。
  
     函數(&參數,......)

     其中,參數前面加上 & 運算符。
     func swapTwoInt( num1: inout Int, num2: inout Int) {
        
          let temp = num1
          num1 = num2
          num2 = temp
        
      }

             var value1 = 6
        var value2 = 8
        print("交換前")
        print("value1 = \(value1)")
        print("value2 = \(value2)")
        print("交換後")
        swapTwoInt(num1: &value1,num2: &value2)
        



           **函數的返回值**
      
       1. 具備返回值
    
     func 函數名(參數列表)-> 返回值 {
  
        return 表達式
    }


      2. 具備多個返回值
   函數有多個返回值 這時候須要用到 元組類型 。
 例:
          func maxVaule(value1:Int,value2:Int,Value3:String,Value4:String) -> (Int,String) {
        
        var maxInt = 0
        var maxString : String
      
        // 判斷哪一個整數最大
        if value1<value2 {
            maxInt = value2
        }else{
            maxInt = value1
        }
        // 判斷兩個字符串哪一個大
        if Value3<Value4 {
            maxString = Value4
        }else{
            maxString = Value3
        }
        return (maxInt,maxString)
        
    }

      print(maxVaule(value1: 5, value2: 1, Value3: "Hello", Value4: "Swifts"))

     輸出:
    (5, "Swifts")   // 元組


          ** 函數類型**
   
    1. 使用函數類型做爲參數

   例:
          // 兩個數相加
    func add(a:Int,b:Int) -> Int {
        
        return a + b
        
    }
    // 兩個數相乘
    func multiply(a:Int,b:Int) -> Int {
        
        return a * b
        
    }
    // 輸出結果
    func printResult (fun:(Int,Int) -> Int, a:Int, b:Int){
        print(fun(a,b))
    }
   
          printResult(fun: add, a: 4, b: 5)
     
     輸出 : 6


    2.使用函數類型做爲返回值類型

     func 函數名(參數列表)-> 函數類型 {
         ....
     }
** 函數的嵌套 **
一、 嵌套調用
   在函數裏調用其餘函數


       二、遞歸調用
   在調用函數的過程當中調用了該函數自己。
相關文章
相關標籤/搜索