Kotlin 基礎語法實例詳解
Kotlin 基礎語法實例詳解
包
定義和引入Java一樣,在文件開頭, 行結束不需要” ; “
package com.test.hello import android.os.Bundle
變量
只讀變量,val 開頭,初始化后不能再賦值,相當于Java的 final 變量
val a: Int = 1 val b = 1 //類型自動推斷為Int val c: Int //沒有初始化時必須指定類型 c = 1 //初始化
可變變量, var 關鍵字開頭
var x = 10 x = 3
函數
函數定義 fun 開頭, 完整的定義如下:
fun sum(a: Int, b: Int): Int {
return a + b
}
可以簡化成表達式,返回值自動推斷
fun sum(a: Int, b: Int) = a + b
函數沒有返回值時,可以不寫或者返回 Unit
fun test(arg: String) {
println(arg)
}
或者
fun test(arg: String): Unit {
println(arg)
}
注釋
和Java一樣,支持行注釋 " // " 和 塊注釋 "/ /"。
不同之處,Kotlin支持塊注釋嵌套,建議不用。
if else
使用條件語句, 和Java一樣
fun min(a: Int, b: Int): Int {
if (a > b) {
return b
} else {
return a
}
}
Kotlin支持if 表達式,以上代碼可以寫成: fun min(a: Int, b: Int) = if (a > b) b else a
for
fun main(args: Array<String>) {
for (arg in args) {
println(arg)
}
}
或者
for (i in args.indices) {
println(args[i])
}
while
和Java類似
fun main(args: Array<String>) {
var i = 0
while (i < args.size) {
println(args[i++])
}
}
when
when,支持豐富的功能, 比Java的 switch 自由
fun case(a: Int) {
when (a) {
1 -> println("1")
2 -> println("2")
else -> println("else")
}
}
范圍, 集合
使用 in 檢查一個數值是否在某個范圍之內
if (x in 1..10) {
// do
}
檢查一個數值是否在某個范圍之外
if (x !in 0..10) {
//
}
在一個值范圍內進行遍歷迭代
for (x in 0..10) {
//
}
使用 in 檢查一個集合是否包含某個對象
if (name in names) { //names.contains()
//
}
在一個集合上進行遍歷迭代
for (name in names) {
println(name)
}
null檢查
當一個引用可能為 null 值時, 對應的類型聲明必須明確地標記為可為 null。
fun parseInt(str: String): Int? {
// todo
}
fun main(args: Array<String>) {
var name: String?
val x = parseInt(args[0])
if (x != null) { // check null
// todo
}
}
is 類型
is 檢查一個表達式的值是不是某個類型的實例, 如果對一個不可變的局部變量或屬性進行過類型檢查, 那么之后的代碼就不必再對它進行顯式地類型轉換。
fun getStringLength(obj: Any): Int? {
if (obj is String && obj.length > 0) {
return obj.length // obj as String after is
}
return null
}
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
一文吃透Spring?Cloud?gateway自定義錯誤處理Handler
這篇文章主要為大家介紹了一文吃透Spring?Cloud?gateway自定義錯誤處理Handler方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03

