1.定義Package
在文件頂部申明Package,與java方式一致。
關(guān)鍵點(diǎn):Kotlin的文件定義的包,并不需要匹配目錄和包,源文件可以放在文件系統(tǒng)的任意位置。這一點(diǎn)與java不同,java的源文件必須在包名指定的路徑下。
package my.demo
import java.util.*
//.....
2.定義函數(shù)
a.定義一個(gè)擁有兩個(gè)int類型的參數(shù),返回值為int的函數(shù)
fun sum(a: Int, b: Int): Int {
? ? ? ?return a + b
}
b.使用表達(dá)式體和推斷返回類型的函數(shù)
fun sum(a: Int, b: Int) = a + b
函數(shù)體是一個(gè)表達(dá)式(a + b),函數(shù)的返回類型是(a+b)結(jié)果的類型
c.返回類型無意義的函數(shù)
fun printSum(a: Int, b: Int): Unit {
print(a + b)
}
即指定返回類型為Unit,相當(dāng)于java中的void類型函數(shù)。
d.省略Unit的函數(shù)
fun printSum(a: Int, b: Int) {
print(a + b)
}
即函數(shù)如果返回類型為Unit,則可以省略不寫。
3.定義局部變量
a.定義常量(關(guān)鍵字val):只能賦值一次,之后只讀。
val a: Int = 1
val b = 1? // 類型推斷,b為`Int`
val c: Int? // 沒有提供初始值時(shí),必須指定類型
c = 1? ? ? // 明確賦值
b.定義變量(關(guān)鍵字var):可以多次賦值
var x = 5 // 類型推斷為`Int`
x += 1
4.注釋
Kotlin支持行注釋和塊注釋。
// This is an end-of-line comment
/* This is a block comment
on multiple lines. */
不同java的一點(diǎn)是,Kotlin的塊注釋可以嵌套(不是很清楚)。
5.使用字符串模版
fun main(args: Array) {
if (args.size == 0) return
print("First argument: ${args[0]}")
}
模板表達(dá)式以$符號開始,由一個(gè)簡單的名稱組成:
val i = 10
val s = "i = $i" // evaluates to "i = 10"
或者是任意的在大括號中的表達(dá)
val s = "abc"
val str = "$s.length is ${s.length}" //輸出結(jié)果: "abc.length is 3"
如何在字符串中輸出$字符,不支持反斜杠轉(zhuǎn)義,可以使用以下語法:
val price = """
${'$'}9.99
"""