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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 幾個函數 為了幫助你為你的場景選擇合適的作用域函數,我們會詳細地描述它們并且提供一些使用建議。從技術角度來說,作用域函數在很多場景里是可以互換的,所以這些示例展示了定義通用使用風格的約定用法。 ### `let` **上下文對象**作為 lambda 表達式的參數(`it`)來訪問。**返回值**是 lambda 表達式的結果。 `let` 可用于在調用鏈的結果上調用一個或多個函數。例如,以下代碼打印對集合的兩個操作的結果: ```kotlin fun main() { //sampleStart val numbers = mutableListOf("one", "two", "three", "four", "five") val resultList = numbers.map { it.length }.filter { it > 3 } println(resultList) //sampleEnd } ``` 使用 `let`,可以寫成這樣: ```kotlin fun main() { //sampleStart val numbers = mutableListOf("one", "two", "three", "four", "five") numbers.map { it.length }.filter { it > 3 }.let { println(it) // 如果需要可以調用更多函數 } //sampleEnd } ``` 若代碼塊僅包含以 `it` 作為參數的單個函數,則可以使用方法引用(`::`)代替 lambda 表達式: ```kotlin fun main() { //sampleStart val numbers = mutableListOf("one", "two", "three", "four", "five") numbers.map { it.length }.filter { it > 3 }.let(::println) //sampleEnd } ``` `let` 經常用于僅使用非空值執行代碼塊。如需對非空對象執行操作,可對其使用安全調用操作符 `?.` 并調用 `let` 在 lambda 表達式中執行操作。 ```kotlin fun processNonNullString(str: String) {} fun main() { //sampleStart val str: String? = "Hello" //processNonNullString(str) // 編譯錯誤:str 可能為空 val length = str?.let { println("let() called on $it") processNonNullString(it) // 編譯通過:'it' 在 '?.let { }' 中必不為空 it.length } //sampleEnd } ``` 使用 `let` 的另一種情況是引入作用域受限的局部變量以提高代碼的可讀性。如需為上下文對象定義一個新變量,可提供其名稱作為 lambda 表達式參數來替默認的 `it`。 ```kotlin fun main() { //sampleStart val numbers = listOf("one", "two", "three", "four") val modifiedFirstItem = numbers.first().let { firstItem -> println("The first item of the list is '$firstItem'") if (firstItem.length >= 5) firstItem else "!" + firstItem + "!" }.toUpperCase() println("First item after modifications: '$modifiedFirstItem'") //sampleEnd } ```
                  <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>

                              哎呀哎呀视频在线观看