<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 package my.demo import java.util.* // ... ``` 無需匹配對應的目錄和包:源文件可以放置在文件系統中任何地方。 查看 [包定義](../basics/packages.md)。 ## 定義函數 有兩個`Int`參數并返回`Int`類型的函數: ``` kotlin fun sum(a: Int, b: Int): Int { return a + b } ``` 只有一個表達式函數體、推斷返回類型的函數: ``` kotlin fun sum(a: Int, b: Int) = a + b ``` 不返回具體值的函數: ``` kotlin fun printSum(a: Int, b: Int): Unit { print(a + b) } ``` `Unit` 返回類型可以省略: ``` kotlin fun printSum(a: Int, b: Int) { print(a + b) } ``` 查看 [函數](../functions-and-lambdas/functions.md). ## 定義本地變量 一次性分配(只讀)的本地變量: ``` kotlin val a: Int = 1 val b = 1 // `Int` 類型靠推斷得出 val c: Int // 未初始化時必須指定類型 c = 1 // 明確地分配 ``` 可變的變量值: ``` kotlin var x = 5 // `Int` 類型靠推斷得出 x += 1 ``` 參閱 [屬性和字段](properties.html). ## 注釋 與 Java 和 JavaScript 類似,Kotlin 支持行尾和塊注釋。 ``` kotlin // 這是一個行尾注釋 /* 這是一個 多行塊注釋*/ ``` 與 Java 不同的是,在 Kotlin 中塊注釋可以嵌套。 查看 [Kotlin 代碼文檔](kotlin-doc.html) 了角注釋語法。 ## 使用字符串模板 ``` kotlin fun main(args: Array<String>) { if (args.size == 0) return print("First argument: ${args[0]}") } ``` 查看 [String 模板](basic-types.html#string-templates). ## 使用條件表達式 ``` kotlin fun max(a: Int, b: Int): Int { if (a > b) return a else return b } ``` 像表達式一樣使用 `if` 句式: ``` kotlin fun max(a: Int, b: Int) = if (a > b) a else b ``` 查看 [if 表達式](control-flow.html#if-expression). ## 使用可空的值并檢測 `null` 當值可空時必須明確地加以標記。 如果 `str` 不是一個表示整數的字符串則返回 `null` : ``` kotlin fun parseInt(str: String): Int? { // ... } ``` 用一個函數返回可空值: ``` kotlin fun main(args: Array<String>) { if (args.size < 2) { print("Two integers expected") return } val x = parseInt(args[0]) val y = parseInt(args[1]) // 因為有可能保存 `null` ,所以使用 `x * y` 會產生錯誤。 if (x != null && y != null) { // 在空值檢查后x 和 y 自動轉換成不可空 print(x * y) } } ``` 或者寫成這樣: ``` kotlin // ... if (x == null) { print("${args[0]} 數字格式錯誤") return } if (y == null) { print("${args[1]} 數字格式錯誤") return } // x 和 y 會在空值檢查后自動轉換為不可空 print(x * y) ``` 查看 [Null 安全](null-safety.html). ## 使用類型檢查與自動轉換 `is` 運算符檢查一個表達式是否是另一個類型的實例。 如果一個不可變的本地變量或屬性被檢測為一個特定的類型,則不需要明確地轉換它: ``` kotlin fun getStringLength(obj: Any): Int? { if (obj is String) { // 在這個作用域中 obj 會自動轉換為 String return obj.length } // 在類型檢查的作用域之外, obj 的類型仍然為 Any branch return null } ``` 或者是: ``` kotlin fun getStringLength(obj: Any): Int? { if (obj !is String) return null // 在這個作用域中 obj 會自動轉換為 String return obj.length } ``` 甚至可以這樣寫: ``` kotlin fun getStringLength(obj: Any): Int? { // 在 && 運算符右邊 obj 會自動轉換為 String if (obj is String && obj.length > 0) return obj.length return null } ``` 查看 [類](classes.html) 和 [類型轉換](typecasts.html). ## 使用 `for` 循環 ``` kotlin fun main(args: Array<String>) { for (arg in args) print(arg) } ``` 或者: ``` kotlin for (i in args.indices) print(args[i]) ``` 查看 [for 循環](control-flow.html#for-loops). ## 使用 `while` 循環 ``` kotlin fun main(args: Array<String>) { var i = 0 while (i < args.size) print(args[i++]) } ``` 查看 [while 循環](control-flow.html#while-loops). ## 使用 `when` 表達式 ``` kotlin fun cases(obj: Any) { when (obj) { 1 -> print("One") "Hello" -> print("Greeting") is Long -> print("Long") !is String -> print("Not a string") else -> print("Unknown") } } ``` 查看 [when 表達式](control-flow.html#when-expression). ## 使用“范圍” 要檢查某個數字是否在某個范圍內,使用 `in` 操作符: ``` kotlin if (x in 1..y-1) print("OK") ``` 檢查某個數字是否在某個范圍之外: ``` kotlin if (x !in 0..array.lastIndex) print("Out") ``` 范圍迭代: ``` kotlin for (x in 1..5) print(x) ``` 查看 [范圍](ranges.html). ## 使用集合 迭代集合: ``` kotlin for (name in names) println(name) ``` 要檢查某個集合是否包含某個對象,使用 `in` 操作符: ``` kotlin if (text in names) // names.contains(text) is called print("Yes") ``` 使用 lambda 表達式來過濾和映射集合: ``` kotlin names .filter { it.startsWith("A") } .sortedBy { it } .map { it.toUpperCase() } .forEach { print(it) } ``` 查看 [高階函數和 Lambda](lambdas.html).
                  <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>

                              哎呀哎呀视频在线观看