<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Kotlin 函數 > 原文: [https://www.programiz.com/kotlin-programming/functions](https://www.programiz.com/kotlin-programming/functions) #### 在本文中,您將學習函數。 什么是函數,其語法以及如何在 Kotlin 中創建用戶函數。 在編程中,函數是一組執行特定任務的相關語句。 函數用于將大型程序分解為較小的模塊化塊。 例如,您需要根據用戶的輸入來創建圓圈并為其著色。 您可以創建兩個函數來解決此問題: * `createCircle()`函數 * `colorCircle()`函數 將復雜的程序劃分為較小的組件可以使我們的程序更有條理和更易于管理。 此外,它避免了重復,并使代碼可重用。 * * * ## 函數類型 根據用戶定義的函數還是[標準庫](https://kotlinlang.org/api/latest/jvm/stdlib/ "Kotlin standard Library")中可用的函數,有兩種類型的函數: * Kotlin 標準庫函數 * 用戶定義的函數 * * * ### Kotlin 標準庫函數 標準庫函數是 Kotlin 中的內置函數,可以隨時使用。 例如, * `print()`是一種庫函數,可將消息打印到標準輸出流(監視器)。 * `sqrt()`返回數字的平方根(`Double`值) ```kt fun main(args: Array<String>) { var number = 5.5 print("Result = ${Math.sqrt(number)}") } ``` 運行該程序時,輸出為: ```kt Result = 2.345207879911715 ``` 這是 [Kotlin 標準庫](https://kotlinlang.org/api/latest/jvm/stdlib/ "Kotlin Standard Library")的鏈接,供您瀏覽。 * * * ### 用戶定義的函數 如前所述,您可以自己創建函數。 這些函數稱為用戶定義函數。 * * * ### 如何在 Kotlin 中創建用戶定義的函數? 在使用(調用)函數之前,需要對其進行定義。 在 Kotlin 中定義函數的方法如下: ```kt fun callMe() { // function body } ``` 要在 Kotlin 中定義函數,請使用`fun`關鍵字。 然后是函數的名稱([標識符](/kotlin-programming/keywords-identifiers#identifiers "Kotlin identifiers"))。 在此,函數的名稱為`callMe`。 在上述程序中,括號`( )`為空。 這意味著此函數不接受任何參數。 您將在本文的后面部分了解參數。 花括號`{ }`中的代碼是該函數的主體。 * * * ### 如何調用函數? 您必須調用該函數才能在函數體內運行代碼。 這是如何做: ```kt callme() ``` 該語句調用先前聲明的`callMe()`函數。 ![Function call in Koltin](https://img.kancloud.cn/4a/ef/4aefcb1802ea261c81e8a4c11ffecc91_350x213.png) * * * ### 示例:簡單函數的程序 ```kt fun callMe() { println("Printing from callMe() function.") println("This is cool (still printing from inside).") } fun main(args: Array<String>) { callMe() println("Printing outside from callMe() function.") } ``` 運行該程序時,輸出為: ```kt Printing from callMe() function. This is cool (still printing from inside). Printing outside from callMe() function. ``` 上面代碼中的`callMe()`函數不接受任何參數。 另外,該函數不返回任何值(返回類型為`Unit`)。 讓我們來看另一個函數示例。 該函數將接受參數并返回一個值。 * * * ### 示例:使用函數加兩個數字 ```kt fun addNumbers(n1: Double, n2: Double): Int { val sum = n1 + n2 val sumInteger = sum.toInt() return sumInteger } fun main(args: Array<String>) { val number1 = 12.2 val number2 = 3.4 val result: Int result = addNumbers(number1, number2) println("result = $result") } ``` 運行該程序時,輸出為: ```kt result = 15 ``` * * * ### 帶參數和返回值的函數如何工作? 在此,在函數調用期間將類型為`Double`的兩個參數`number1`和`number2`傳遞給`addNumbers()`函數。 這些參數稱為實際參數。 ```kt result = addNumbers(number1, number2) ``` 參數`n1`和`n2`接受傳遞的參數(在函數定義中)。 這些參數稱為形式參數(或參數)。 ![Passing arguments to a function in Kotlin](https://img.kancloud.cn/ac/58/ac58f6a924ff05c01130561d1a8c3aef_500x255.png) 在 Kotlin 中,參數之間用逗號分隔。 同樣,形式參數的類型必須顯式鍵入。 注意,實際參數和形式參數的數據類型應匹配,即,第一個實際參數的數據類型應與第一個形式參數的類型匹配。 同樣,第二個實際參數的類型必須與第二個形式參數的類型匹配,依此類推。 * * * 這里, ```kt return sumInteger ``` 是`return`語句。 該代碼終止`addNumbers()`函數,程序控制跳至`main()`函數。 在程序中,從`addNumbers()`函數返回`sumInteger`。 該值分配給變量`result`。 ![Return value from a function in Kotlin](https://img.kancloud.cn/7e/7c/7e7c3654dbaff48a32b696f3ce81b166_475x257.png) 注意, * `sumInteger`和`result`均為`Int`類型。 * 函數的返回類型在函數定義中指定。 ```kt // return type is Int fun addNumbers(n1: Double, n2: Double): Int { ... .. ... } ``` 如果該函數不返回任何值,則其返回類型為`Unit`。 如果返回類型為`Unit`,則可以在函數定義中指定返回類型。 * * * ### 示例:使用函數顯示名稱 ```kt fun main(args: Array<String>) { println(getName("John", "Doe")) } fun getName(firstName: String, lastName: String): String = "$firstName $lastName" ``` 運行該程序時,輸出為: ```kt John Doe ``` 這里,`getName()`函數采用兩個`String`參數,并返回`String`。 如果函數返回單個表達式,則可以省略函數主體的花括號`{ }`,并在`=`符號后指定主體(如上述示例)。 在這種情況下,顯式聲明返回類型是可選的,因為返回類型可以由編譯器推斷。 在上面的示例中,您可以替換 ```kt fun getName(firstName: String, lastName: String): String = "$firstName $lastName" ``` 與 ```kt fun getName(firstName: String, lastName: String) = "$firstName $lastName" ``` * * * 這只是 Kotlin 中函數的簡要介紹。 與函數有關的推薦文章: * *Kotlin 內聯函數* * *Kotlin 中綴函數* * *Kotlin 函數范圍* * *Kotlin 默認參數和命名參數* * *Kotlin 遞歸* * *Kotlin 尾遞歸函數* * *Kotlin 擴展函數* * *Kotlin 高階函數和 Lambdas*
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看