Swift函數(shù)

函數(shù)的定義和調用

函數(shù)是一個組織在一起的程序代碼集合,用來完成某個特定的功能。Swift使用的關鍵字func進行函數(shù)的定義

函數(shù)的定義格式如下

func 函數(shù)名(參數(shù)變量:類型) -> 返回類型 {

    程序語句

    return 結果
}

定義一個無參數(shù)并且無返回類型的函數(shù)

func sayhello(){
        
        print("hello Swift")
    }

函數(shù)的調用

sayhello()

定義一個返回Int類型的函數(shù)

func sum(num1:Int,num2:Int) -> Int {
        
        return num1+num2
    }

在Swift的環(huán)境中,可以為函數(shù)的參數(shù)設置默認值

 func sum1(num1:Int,num2:Int,num3:Int=3) -> Int {
        
        return num1+num2+num3
    }

設置可變的函數(shù)參數(shù)數(shù)量

 func sum2(numbers:Int...) -> Int {
        
        
        var number=0
        for num in numbers {
            
            number += num;
        }
        
        return number;
        
    }

函數(shù)作為參數(shù)和返回類型

func getMaxNum(num1:Int,num2:Int) -> Int {
        
        return num1>num2 ?num1:num2
        
    }
    
    func getMinNum(num1:Int,num2:Int) -> Int {
        
        return num1<num2 ?num1:num2
        
    }
    //這里是3個參數(shù)分別是
    //funNmae:(Int,Int)->Int
    //num1
    //num2
    func getRes(funNmae:(Int,Int)->Int,num1:Int,num2:Int){
        
        print(funNmae(num1,num2));
    }

調用函數(shù)作為參數(shù)和返回類型的函數(shù)

 getRes(funNmae: getMaxNum, num1: 1, num2: 2)

函數(shù)作為返回類型

func getResut(number1:Int,number2:Int)->(Int,Int)->Int {
        
       return number1<number2 ?getMinNum:getMaxNum
 }

//調用函數(shù)作為返回類型的函數(shù)
 let fun = getResut(number1: 2, number2: 3);
 print(fun(7,5))

元組作為函數(shù)的返回類型,實現(xiàn)多個返回值

func getResut1() -> (name:String,age:Int,sex:String) {
        
        return (name:"小妹",age:12,sex:"女")
    }

使用函數(shù)類型

使用函數(shù)類型就跟使用其他的類型一樣。比如可以定義一個常量和變量,其類型就是函數(shù),而且可以給這個函數(shù)賦值

 func getResut2(number1:Int,number2:Int)->Int {
  
        return (number1+number2)
 }

//調用
 let res1 = getResut2
 print(res1(1,3))

函數(shù)的輸入輸出參數(shù)

如果想要一個函數(shù)可以修改參數(shù)的值,并且這些修改在函數(shù)結束調用后仍然存在,那就定義輸入輸出參數(shù),在參數(shù)類型的前面添加inout關鍵字來實現(xiàn)
同時,傳入函數(shù)的參數(shù)不能是常量必須是變量,當傳入的參數(shù)作為輸入輸出參數(shù)時,需要在參數(shù)面前加入&符號,表示這個參數(shù)值是可以被修改的

  func getResut4(number1:inout Int,number2: inout Int) {
        
        let tem=number1
        number1=number2
        number2=tem
    }

//調用

 var num1=1
 var num2=2
 getResut4(number1: &num1, number2: &num2)
 print(num2)
        

函數(shù)的遞歸用法

func getResut5(num:Int) -> Int {
        if (num<=1)
        {
             return 2
            
        }
         return getResut5(num:num-2)+getResut5(num:num-1)
       
    }

常用的內置函數(shù)

  • min最小值函數(shù)
print(min(1, 2))
  • max最大值函數(shù)
print(max(2, 10))
  • filter函數(shù)通常用于查找在數(shù)組元素中,滿足指定條件的元素。例如查找1~10之間可以被數(shù)字3整除的數(shù)字
for index in (1...10).filter({$0%3==0}) {
            
            print(index)
 }
  • map函數(shù)通常用于將數(shù)組中的每個元素,通過指定的方法進行轉換。例如將一個整數(shù)數(shù)組每個元素乘以3
for index in (1...3).map({$0*3}) {
            
       print(index)
 }
  • reduce函數(shù)可以把數(shù)組元素組合計算為一個值
 let res5=[1,2,3,4].reduce(0){$0+$1}
 print("結果 ",res5);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 函數(shù)是用來完成特定任務的獨立的代碼塊。給一個函數(shù)起一個合適的名字,用來標識函數(shù)做什么,并且當函數(shù)需要執(zhí)行的時候,這...
    窮人家的孩紙閱讀 860評論 2 1
  • 函數(shù)是用來完成特定任務的獨立的代碼塊??梢越o函數(shù)起一個名字,用于標識一個函數(shù),當函數(shù)需要執(zhí)行的時候,這個名字就會用...
    EndEvent閱讀 790評論 1 3
  • Swift 函數(shù)用來完成特定任務的獨立的代碼塊。Swift使用一個統(tǒng)一的語法來表示簡單的C語言風格的函數(shù)到復雜的O...
    零度_不結冰閱讀 361評論 0 0
  • Swift 函數(shù) Swift函數(shù)用來完成特定任務的獨立的代碼塊。Swift使用一個統(tǒng)一的語法來表示簡單的C語言風格...
    Albert_Li99閱讀 1,706評論 0 2
  • 總是會莫名其妙地來了一場小情緒 什么也看不慣什么也不想理 不明所以的獨自傷悲 也什么都不想說 不懂得這是為什么 是...
    空竹小城閱讀 795評論 0 0

友情鏈接更多精彩內容