Kotlin學習(3) 習慣用法

2021-08-08 02:22:30 字數 3887 閱讀 6942

1、資料類

(1)建立資料類

data class custom

(val

name:string,val

email:string)

(2)系統自動提供的功能

2、函式預設引數

一般情況下如果函式的引數都有預設值

//下面兩種方法的效果是等同的

fun foo(x: int = 0, y: string = "")

fun fzz(x: int, y: string)

fun main(args: array)

3、list的過濾

一般情況下,集合使用filter方法對資料進行過濾。

val list = listof(1, 3, 4, 5, 6, 7, 8, 9, 10)

//兩種實現方式是等同的

val positives = list.filter

val positives2 = list.filter

fun main(args: array

) ) println(positives2.foreach )

4、string內插

string內插,就是將變數插入到string字串中,通過$符號將變數插入。

fun person(name: string, age: int) 

fun main(args: array

)

5、型別判斷

對變數的型別進行判斷,通過字元is,判斷其是否為某種型別。

fun

type(x: any)

}fun main(args: array)

6、遍歷map型list

map型的集合是有key-value對應值的,通過for迴圈對其遍歷輸出。

fun print(x: hashmap) 

}fun main(args: array

)

7、區間

區間的判斷,一般使用in對資料進行判斷, 判斷其是否在某個區間內。

一般來說,區間的範圍,有幾種表現形式:

fun main(args: array) 

println()

//左閉右開區間

for (i in

1until

5) println()

for (i in

2..10 step 2)

println()

for (i in

10 downto 1)

println()

val i = 3

if (i in

1..10)

}

8、訪問map

(1)訪問key值

(2)訪問value值

fun main(args: array

<

string

>)

//訪問所有的value值

map.values.foreach

//訪問key = a 的value值

println(map

["a"])

}

9、擴充套件函式

在函式的基礎上,對其進行擴充套件,增加自己想要的功能。比如擴充套件這樣乙個功能:對任意的物件轉換為字串功能。

fun any?.changetostring(): string 

fun main(args: array

)

10、縮寫

(1)if not null 縮寫

物件和呼叫的方法之間新增?,就是對其進行不為空判斷。

val files = file("test").listfiles()

println(files?.size)

(2)if not null and else縮寫

在判斷完之後新增:,就是else的內容。

val files = file("test").listfiles()

println(files?.size ?: "沒有此檔案")

(3)if null 執行乙個語句

通過?:,後面為null之後所執行的語句

val values = mapof("a"

toto

"email")

val email = values["email"] ?: throw illegalacces***ception("email is missing")

println(email)

(4)if not null 執行**

通過?.let{},如果為null就行let裡面的**

val

value = "163.com"

value?.let

11、返回when表示式

通過return when(){},通過不同條件返回不同結果。

fun transform(color: string): int 

}fun main(args: array

<

string

>)

12、tyr/catch表示式

try-catch拋異常執行相應操作。

fun test(age: int): any?  catch (e: arithmeticexception) 

return result

}fun main(args: array

)

13、「if」表示式

通過對不同條件的判斷,輸出不同的結果。

fun foo(param: int)  else

if (param == 2) else

}fun main(args: array)

14、單表示式

如果乙個函式的返回結果很簡單,也可以直接寫成單表示式。

同時,單表示式函式與其他慣用法一起使用,簡化**,例如和when一起使用。

//兩種方式是等同的

fun theanswer() =

42fun theanswer2(): int

//單表示式函式與when一起使用

fun transform2(color: string): int = when (color)

fun main(args: array

<

string

>)

15、乙個物件例項呼叫多個方法

當乙個物件想要呼叫多個方法時,可以使用with(){},在()內填入物件,在{}內依次填入需要呼叫的方法。

class

turtle

fun penup() {}

fun turn(degree: double) {}

fun forward(pixels: double) {}

}fun main(args: array

) penup()

}}

16、可空布林
fun ftt(b: boolean?)  else 

}fun main(args: array

)

linux環境變數 個人習慣用法配置

環境變數 在執行程式時先找當前目錄,當前目錄找不到就找環境變數提供的目錄 ubuntu環境變數設定 使用者級別修改 1.修改自己當前目錄下的.bashrc例如 export path path home xx bin 系統級別修改 2.修改 exc profile在最後追加如下資料 export p...

git add 命令的乙個習慣用法 逐個挑選改動

普通的git命令入門級的介紹中一般都用 git add 或者 git add a 而在實際工作中這種用法稍不注意會給你帶來麻煩,經常提交你不希望的改動 一些自動編譯成成的檔案或者一些debug目的寫入的log輸出 等等。隨著經驗值的提高,某一天發現git add p 才是符合程式設計師日常使用的命令...

kotlin學習筆記(3) 條件控制和迴圈控制

乙個 if 語句包含乙個布林表示式和一條或多條語句 傳統用法 var max a if ab else 作為表示式 val max if a b a else b 例項 fun main args array else if x 0 else var a 1 var b 2 val c if a b...