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