val intRange:IntRange=0..200//[0.200]
val intRangeexclusive:IntRange=0 until 200//[0,199]
val emptyrange:IntRange=0..-1
fun main(args: Array<String>) {
    println(emptyrange.isEmpty())
    println(intRange.contains(50))
}
true
true
 println(intRange.contains(50))
    //于下面等价
    println(50 in intRange)

这两句代码是等价的
contain也表示一个操作符

for (i in intRangeexclusive){
        println("$i,")
    }

基本的迭代方法

类成员

class FuckYou(var name:String) {
    var a=0
        //会在实例调用执行 ff.a
    get() {
        println("545")
        return field}
        //会在实例调用赋值时执行ff.a=4
    set(value) {
        println("454")}
}

fun main(args: Array<String>) {
    val ff:FuckYou= FuckYou("d")
    ff.a=4
    println(ff.a)


}
454
545
0

lateinit

表示这个我后面会初始化你别管 因为一般在class里面的成员都要初始化
!!! !!不能在没初始化前去调用

lateinit var s:String
注意不能用在val上

如果要用就只能

val x:String by lazy { "45" }

表示这个值要等到{}里面初始化完毕后赋值 ()->T

for 循环

仔细看别人的代码

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐