亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Swift2.0(9)函數的使用(一)

發布時間:2020-07-07 09:33:15 來源:網絡 閱讀:341 作者:ymanmeng123 欄目:移動開發
  • 函數的基本用法

一個簡單的函數,如下:

     func sayHello(personName:String) -> String {

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

         return s

     }

     let s = sayHello("iOS")

     print(s)

     func關鍵字:用于標示,這是一個函數

     函數名字:sayHello  應當清晰明了且符合駝峰規則編碼規范

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

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

     函數體:{ } 放置代碼,即函數的執行代碼

  • 函數的參數

函數可以沒有參數:

     func sayHello() -> String {

         return "你好!"

     }

     print(sayHello())

可以為函數設置多個參數,如:

     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))

參數的名字:

     內部參數名:該參數名只在函數的內部能夠看到,如:

     func sayHello(personName:String) -> String {

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

         return s

     }

     print(sayHello("iOS"))

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

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

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

         return s

     }

     print(sayHello(personName: "iOS"))

     第二個參數及后面的參數,無論第一個參數是否是外部參數,都是外部參數,如:

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

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

         return s

     }

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

     后續的參數前添加 “_ "可以打破這一規則

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

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

         return s

     }

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

帶可變參數的函數,如:

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

         var total = 0;

         for n in numbers {

             total += n

         }

         return total

     }

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

函數的默認參數,如:

     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"))

     函數的默認參數,要遵循從最右邊開始的規則

函數的重載,如:

     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,帥哥!

     函數重載的依據是:參數列表不同

     但要注意函數在重載時,如果參數帶默認值帶來的歧義的情況

參數的可變性:

     參數默認都是常量(let),在函數內不能進行修改

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

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

         var result:Int = 1

         while number > 1 {

             result = result * number

             number--

         }

         return result

     }

     print(factorial(6))

     要注意:形參不能修改實參

形參修改實參的辦法:

     swift精心設計了inout關鍵字,用于聲明形參是一個出參,實參使用&運算符

     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

     注意:出參的實參必須是變量、出參不能帶默認值、inout關鍵不能和let及var一期使用

  • 函數的返回值

無返回值:

     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

一個返回值:

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

         var result:Int = 1

         while number > 1 {

             result = result * number

             number--

         }

         return result

     }

     print(factorial(6))

多個返回值(元組):

     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)")


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

马边| 阿尔山市| 博乐市| 霍邱县| 定南县| 乌兰察布市| 石景山区| 萨嘎县| 泰顺县| 桃园县| 乐陵市| 科技| 丹阳市| 石阡县| 谢通门县| 万荣县| 喀喇| 正定县| 卢龙县| 灌云县| 海宁市| 介休市| 右玉县| 南汇区| 临汾市| 剑河县| 甘孜县| 武冈市| 和龙市| 米泉市| 岳阳县| 时尚| 年辖:市辖区| 横山县| 宁安市| 清涧县| 通化市| 旅游| 泗水县| 临沧市| 辛集市|