Swift2.0(9)函數(shù)的使用(一)-創(chuàng)新互聯(lián)

  • 函數(shù)的基本用法

    創(chuàng)新互聯(lián)建站專注于白銀網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供白銀營銷型網(wǎng)站建設(shè),白銀網(wǎng)站制作、白銀網(wǎng)頁設(shè)計(jì)、白銀網(wǎng)站官網(wǎng)定制、小程序制作服務(wù),打造白銀網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供白銀網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

一個(gè)簡單的函數(shù),如下:

     func sayHello(personName:String) -> String {

       let s = "你好" + personName + "!"

       return s

     }

     let s = sayHello("iOS")

     print(s)

     func關(guān)鍵字:用于標(biāo)示,這是一個(gè)函數(shù)

     函數(shù)名字:sayHello 應(yīng)當(dāng)清晰明了且符合駝峰規(guī)則編碼規(guī)范

     參數(shù)列表:(personName:String)  personName是參數(shù)名,String是這個(gè)參數(shù)的類型

     返回值:-> String 表示返回值是一個(gè)字符串類型

     函數(shù)體:{ } 放置代碼,即函數(shù)的執(zhí)行代碼

  • 函數(shù)的參數(shù)

函數(shù)可以沒有參數(shù):

     func sayHello() -> String {

       return "你好!"

     }

     print(sayHello())

可以為函數(shù)設(shè)置多個(gè)參數(shù),如:

     func sayHello(personName personName:String, isMale isMale:Bool) -> String {

       var s:String;

       if ( isMale ) {

         s = "你好" + personName + ",帥哥!"

       }

       else {

         s = "你好" + personName + ",美女!"

       }

       return s

     }

     print(sayHello(personName: "iOS", isMale: true))

參數(shù)的名字:

   內(nèi)部參數(shù)名:該參數(shù)名只在函數(shù)的內(nèi)部能夠看到,如:

     func sayHello(personName:String) -> String {

       let s = "你好" + personName + "!"

       return s

     }

     print(sayHello("iOS"))

   外部參數(shù)名:該參數(shù)名還可以在函數(shù)的外部看到,如:

     func sayHello(personName personName:String) -> String {

       let s = "你好" + personName + "!"

       return s

     }

     print(sayHello(personName: "iOS"))

   第二個(gè)參數(shù)及后面的參數(shù),無論第一個(gè)參數(shù)是否是外部參數(shù),都是外部參數(shù),如:

     func sayHello(person1Name:String, person2Name:String) -> String {

       let s = "你好 " + person1Name + " and " + person2Name + "!"

       return s

     }

     print(sayHello("iOS", person2Name: "Android"))

   后續(xù)的參數(shù)前添加 “_ "可以打破這一規(guī)則

     func sayHello(person1Name:String, _ person2Name:String) -> String {

       let s = "你好 " + person1Name + " and " + person2Name + "!"

       return s

     }

     print(sayHello("iOS", "Android"))

帶可變參數(shù)的函數(shù),如:

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

       var total = 0;

       for n in numbers {

         total += n

       }

       return total

     }

     print(sum(1,2,3,4,5))

函數(shù)的默認(rèn)參數(shù),如:

     func sayHello(personName personName:String, isMale:Bool = true) -> String {

       var s:String;

       if ( isMale ) {

         s = "你好" + personName + ",帥哥!"

       }

       else {

         s = "你好" + personName + ",美女!"

       }

       return s

     }

     //print(sayHello(personName: "iOS", isMale: true))

     print(sayHello(personName: "iOS"))

   函數(shù)的默認(rèn)參數(shù),要遵循從最右邊開始的規(guī)則

函數(shù)的重載,如:

     func sayHello(personName personName:String) ->String {

       let s = "你好" + personName + "!"

       return s

     }

     func sayHello(personName personName:String, isMale:Bool) -> String {

       var s:String

       if ( isMale ) {

         s = "你好" + personName + ",帥哥!"

       }

       else {

         s = "你好" + personName + ",美女!"

       }

       return s

     }

     print(sayHello(personName: "iPhone”))  // 你好iPhone!

     print(sayHello(personName: "iOS", isMale: true)) // 你好iOS,帥哥!

   函數(shù)重載的依據(jù)是:參數(shù)列表不同

   但要注意函數(shù)在重載時(shí),如果參數(shù)帶默認(rèn)值帶來的歧義的情況

參數(shù)的可變性:

   參數(shù)默認(rèn)都是常量(let),在函數(shù)內(nèi)不能進(jìn)行修改

   可以顯式聲明參數(shù)為變量(var),這樣參數(shù)在函數(shù)內(nèi)就可以被修改

     func factorial(var number:Int) ->Int {

       var result:Int = 1

       while number > 1 {

         result = result * number

         number--

       }

       return result

     }

     print(factorial(6))

   要注意:形參不能修改實(shí)參

形參修改實(shí)參的辦法:

   swift精心設(shè)計(jì)了inout關(guān)鍵字,用于聲明形參是一個(gè)出參,實(shí)參使用&運(yùn)算符

     func mySwap(inout a:Int, inout b:Int) {

       var tem:Int

       tem = a

       a = b

       b = tem

     }

     var x1 = 10, x2 = 20

     mySwap(&x1, b: &x2)

     print("x1=\(x1) x2=\(x2)”)   // x1=20 x2=10

   注意:出參的實(shí)參必須是變量、出參不能帶默認(rèn)值、inout關(guān)鍵不能和let及var一期使用

  • 函數(shù)的返回值

無返回值:

     func mySwap(inout a:Int, inout b:Int) {

       var tem:Int

       tem = a

       a = b

       b = tem

     }

     var x1 = 10, x2 = 20

     mySwap(&x1, b: &x2)

     print("x1=\(x1) x2=\(x2)”)   // x1=20 x2=10

一個(gè)返回值:

     func factorial(var number:Int) ->Int {

       var result:Int = 1

       while number > 1 {

         result = result * number

         number--

       }

       return result

     }

     print(factorial(6))

多個(gè)返回值(元組):

     func count(kids: Dictionary<String, String>) -> (girls:Int, boys:Int) {

       var girls = 0, boys = 0

       for c in kids.values {

         if c == "Girl" {

           girls++

         }

         else if c == "Boy" {

           boys++

         }

       }

       return (girls, boys)

     }

     var k:Dictionary<String, String> = ["AAA":"Girl", "BBB":"Boy", "CCC":"Girl", "DDD":"Girl", "EEE":"Boy"]

     var (g, b) = count(k)

     print("girls=\(g) boys=\(b)")

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁名稱:Swift2.0(9)函數(shù)的使用(一)-創(chuàng)新互聯(lián)
本文來源:http://bm7419.com/article32/dscosc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、電子商務(wù)、網(wǎng)站策劃、域名注冊、軟件開發(fā)ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司