Kotlin筆記 基礎(chǔ)語法

1.Package

同Java一樣,定義package

package my.demo
import java.util.*

源文件里所有的內(nèi)容都在文件頭定義的包里,如果文件頭沒有定義包,那么所有內(nèi)容屬于沒有名字的“default” package

package foo.bar

fun baz() {}

class Goo {}

baz的全名叫foo.bar.baz(), Goo的全名為foo.bar.Goo

2.Import

同Java的語法類似,import 可以帶上as取別名
import bar.Bar as bBar

import除了可以引用類,還可以引用

  • top level function和properties,
  • 單例的方法 和屬性
  • 枚舉常量

沒有import static

3.定義函數(shù)

fun sum(a: Int, b: Int): Int {
  return a + b
}

如果函數(shù)只有一個表達式可以寫成

fun sum(a: Int, b: Int) = a + b

如果不要返回值,則寫為Unit,或者省略

fun printSum(a: Int, b: Int): Unit { 
  print(a + b)
}

或者

fun printSum(a: Int, b: Int) { 
  print(a + b)
}

4.定義局部變量

只讀變量為val修飾,只能被賦值一次,可讀可寫變量用var修飾,不寫type的變量必須被初始化:

val a: Int = 1
val b = 1 // `Int` type is inferred
val c: Int // Type required when no initializer is provided
c = 1 // definite assignment

5.String template

fun main(args: Array<String>) { 
  if (args.size == 0) return 
  print("First argument: ${args[0]}")
}

6. 如果一個引用有可能為null,需要在type后加個?,比如以下函數(shù)就有可能返回null

fun parseInt(str: String): Int? { 
  // ...
}

7其他

for-loop

fun main(args: Array<String>) { 
  for (arg in args) { 
    print(arg) 
  } 
}

//或者遍歷index

for (i in args.indices) { 
  print(args[i])
} 

while-loop

fun main(args: Array<String>) {
    var i = 0
    while (i < args.size) {
        print(args[i++])
    }  
}

range

if (x in 1..y-1) {
    print("OK")
}

in可以遍歷collection,也可以檢查元素是否在collection里

for (name in names) {
    println(name)
}

if (text in names) { // names.contains(text) is called
    print("Yes")
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容