变量
有初始值的变量,无需显式指定其类型
val(value):不可变引用
var(variable):可变引用,不推荐使用
在字符串模版中,可以在双引号中嵌套双引号,只要他们身处某个表达式中
fun main(args: Array<String>){ println("hello,${if (args.size>0) args[0] else "someone"}")}
复制代码
属性
class person( val name: String, //只读属性,相当于getter var isMarried: Boolean //可读写,自带 getter/setter)
复制代码
自定义访问器,可实现特定属性的定义和计算
class Rectangle(val height: Int, val width: Int){ val isSquare: Boolean get() { return height == width }}
复制代码
目录和包
Kotlin 不区分类和函数,没有对源文件的布局强加限制。函数,类可多个共存于一个.kt 的文件中
when 与枚举类型
Kotlin 中 if 是表达式,非语句。表达式有值,而语句没有。多个判断,推荐使用 when
fun eval(e: Expr): Int = when (e) { is Num -> e.value is Sum -> eval(e.right) + eval(e.left) else -> throw IlleageArgumentException("exceptions") }
复制代码
枚举类型中若要定义函数,就必须要用分号把枚举常量和函数分开,Kotlin 中唯一用到分号的地方
迭代
用in表达区间循环,也可以用in表达集合和区间成员
使用downTo,step,until表达区间
评论