Kotlin的基本语法的介绍,先从整体上体会kotlin的编程风格。
一、包的声明
在Kotlin中定义包与Java有点不同,在Kotlin中目录与包结构无需匹配,Kotlin的源码可以在磁盘上的任意位置。
1、包的声明
源文件的通常是以包的声明的开头和Java一样。
package com.mikyou.hellokotlin
/**
* Created by mikyou on 2018/4/1.
*/
fun main(args: Array) {
println("Hello Kotlin")
}
2、包的默认导入
有多个包会默认导入到每个Kotlin文件中。
二、函数的定义
1、函数的定义使用关键字"fun",函数参数格式为: "参数:类型",函数返回值类型 "fun(...): Int"
fun sum(a: Int, b: Int, c: Int): Int {
return a + b + c
}
2、表达式作为函数体,返回值的类型可以省略,可以利用Kotlin的类型推导功能,推测出函数返回值的类型。
fun sum(a: Int, b: Int, c: Int) = a + b + c
3、无返回值的函数(类似Java中的void空类型返回值)
fun printSum(a: Int, b: Int, c: Int): Unit {
println(a + b + c)
}
或者省略Unit类型
fun printSum(a: Int, b: Int, c: Int) {
println("sum = ${a + b + c}")
}
4、可变长参数函数可以使用"vararg"关键字标识类似Java中的public void setData(Object... objects)。
fun vars(vararg args: Int) {
for (arg in args) {
print(arg)
}
}
5、lambda(匿名函数)
val sumLambda: (Int, Int, Int) -> Int = { a, b, c -> a + b + c }
测试
println("sum = ${sumLambda(1, 6, 7)}")
三、常量和变量
常量与变量都可以没有初始化值,但是在引用前必须初始化编译器支持自动类型判断,即声明时可以不指定类型,由编译器判断。如果不在声明的时候初始化则必须提供变量的类型
1、可变变量的定义: var 关键字
var : =
var sum: Int = 3
sum = 8
//由于编译支持类型推导可以省略Int类型
var sum = 3
sum = 8
2、不可变变量的定义: val 关键字, 不能进行二次赋值,类似Java中的final类型