Kotlin編程基礎語法編碼規范
前言
上一篇我們認識瞭Kotlin編程語言,也搭建好開發環境。本篇就進入Kotlin的基礎語法介紹,與其他編程語言一樣,Kotlin也有自己的一套編碼規范。
文章總覽
1.Kotlin基本語法
1.1 函數聲明
使用關鍵字 fun
聲明:
fun sum(a: Int, b: Int): Int { return a + b }
以上函數有倆個 int
參數:a , b;返回值為 Int
類型值。
在Kotlin中,返回值類型可以自行推斷,函數體可以是表達式:這與Java是有區別的,直接用 =
相連
fun sum(a: Int, b: Int) = a + b
無返回值的函數,使用 Unit
為寫法更簡便可以將 Unit 省略。
fun printSum(a: Int, b: Int): Unit { println("sum of $a and $b is ${a + b}") } // Unit 返回類型可以省略
1.2 程序主入口
Kotlin 程序的入口是 main
函數,與 Java 是一樣的。
fun main() { println("Hello world!") // 打印字符串 }
程序在執行時,會先進入 main 函數開始執行。
1.3 變量
- 隻讀局部變量(常量) 使用
val
定義
val a: Int = 1 // ⽴即賦值 val b = 2 // ⾃動推斷出 `Int` 類型 val c: Int // 如果沒有初始值類型不能省略 c = 3 // 明確賦值
- 可重新賦值變量 使用
var
定義
var x = 5 // ⾃動推斷出 `Int` 類型 x += 1 // x重新賦值
這與 Java 有很大區別,不用指定變量的類型,有編譯器自動推斷出來。
1.4 條件表達式
與 Java 中的 if 語句一樣
if (a > b) { return a } else { return b }
在 Kotlin中 if
也可以⽤作表達式,更加簡便
fun max(a: Int, b: Int) = if (a > b) a else b
1.5 when表達式
when 將它的參數與所有的分⽀條件順序⽐較,直到某個分⽀滿⾜條件
when (obj) { 1 -> "One" "Hello" -> "Greeting" is Long -> "Long" !is String -> "Not a string" else -> "Unknown" }
可以類比 Java 中的 switch 語句。
1.6 空值與空檢測
一個表達式或者一個變量可以為Null, 在Kotlin中可以使用 ?
來結尾表示
fun parseInt(str: String): Int? { // …… } // 函數返回值可為空,當返回值 不是 Int 類型,返回值就是Null
這一特性解決瞭 Java 中一老大難的問題:NullpointException 空指針報錯問題,在日常開發中幫開發者提高瞭不少開發效率和減少瞭不少bug。
1.7 區間使用
使⽤ in
操作符來檢測某個數字是否在指定區間內
val x = 10 val y = 9 if (x in 1..y+1) { println("in range") }
這個特性可以運用到 區間和數列中。
2.Kotlin編碼規范
目錄結構:可以類比 Java 項目,包名的規則:小寫字母,公司/組織域名反寫
代碼源文件:以 .kt 為擴展名,命名規則首字母大寫的駝峰風格,例如 HelloWorld.kt
命名規則:
- 類與對象的名稱以大寫字母開頭並使用駝峰風格
- 包的名稱總是小寫且不使用下劃線
文檔註釋:
- 多行註釋
- 單行註釋
代碼縮進風格要統一
註解:將註解放在單獨的⾏上,在它們所依附的聲明之前,並使⽤相同的縮進
- 鏈式調用:對鏈式調⽤換⾏時,將
.
字符或者?.
操作符放在下⼀⾏,帶有縮進 - 不在
.
或者?.
左右留空格:foo.bar().filter { it > 2 }.joinToString() , foo?.bar()
- 在
//
之後留⼀個空格: // 這是⼀條註釋 - 不要在⽤於指定類型參數的尖括號前後留空格:
class Map { …… }
- 不要在
::
前後留空格:Foo::class 、String::length
- 不要在⽤於標記可空類型的
?
前留空格:String?
總結
本文主要講解 Kotlin 常用的基本語法,後續會針對特定的知識點展開學習,同時學習瞭Kotlin 編碼規范,對日常規范編寫代碼是非常有幫助。
以上就是Kotlin編程基礎語法編碼規范的詳細內容,更多關於Kotlin 語法編碼規范的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- Kotlin基本數據類型詳解
- Kotlin編程條件控制示例詳解
- Kotlin編程基礎數據類型示例詳解
- 秒懂Kotlin之Java工程師快速掌握Kotlin的技巧
- Kotlin與Java相互調用的完整實例