valoneMillion=1_000_000 解构中使用,缺省 //list forEachvalarray=listOf(1,2,3)for((index,value)inarray.withIndex()){println("the element at$indexis$value")}//map forEachvalmap1=mapOf("1"to1,"2"to2)map1.forEach{key,value->println("$key&$value!")}//缺省map1.forEach{_,value-...
funmain(args:Array<String>){vard=Test()println(lock("param1","param2",d::getResult))} 我们在类中的某个方法中使用双冒号调用当前 Class 的内部方法时: classTest1{funisOdd(x:Int)=x%2!=0funtest(){varlist=listOf(1,2,3,4,5)println(list.filter(this::isOdd))}} 一般情况下调用当前类的...
这次是自己在项目中正式使用并且遇到的一些问题记录,供kotlin新入门的童鞋参考,避免我的弯路(当然,这里的都是其他地方会有的,因为我也是在边学边记录) 难点理解: 1. !!符号 (不能为空,如果空也会抛异常) 2. ? 号 (可以为空,如果是空则返回-1) 解释如下: //类型后面加?表示可为空 var age: String?
非空断言符(!!) 当你认为你所使用的对象肯定不为空的时候,你可以使用!!来进行非空断言,这也能绕过编译器的空类型检查。 注意除非你完全清楚你为什么要使用它,不然非常不推荐使用非空断言。因为如果它真的出现了null的情况,那就会造成一个NullPointException val len = name!!.length// 如果name不为空,则返回...
特定标识符 field 和 it。在 Kotlin 语言中有两个由编译器定义的特定标识符,它们只能在特定场景中使用有特定的作用,而在其他的场景中可以做标识符使用。 提示 如果一定要使用关键字作为标识符,可以在关键字前后添加反引号(`)。另外,Kotlin语言中字母采用的是双字节 Unicode 编码。Unicode 叫作统一编码制,它包含了...
Kotlin中的任何表达式都可以用 标签(label)标记,标签的格式为标识符后跟@符号 比如hello@、key@都是有效的标签。 我们可以用 label标签来控制return、break或continue语句的跳转行为。比如: = intArrayOf(1, 2, 3, 4, 5) //here@ 是下一个标签 intArray.forEach here@{ if (it == 3) //执行指令跳到...
在kotlin中,类默认都是封闭的,不能够被继承的。想让一个类可以被继承,那么就需要使用open关键字来修饰该类。 下面来实现一个Person类,然后再实现一个Police类去继承它,如果Person类不加open关键字,会出现如下错误:(在kotlin中通过:符号表示继承或实现)
Kotlin 的模板 $ 真的很方便,个人认为甚至比 Python 的 % 还好用(虽说 Python 也有 f-string 插值方式,但 Kotlin 的 $ 似乎更简单),只需在字符串中使用 $ 符号,后面跟着变量名: val count = 10 printIn("Count: $count") 1. 2. 🚩 运行结果:Count: 10 ...
5、..符号 以及 in 和 !in 操作符 ..代表从a到b,包括a和b,这是一个闭区间运算符,in和!in就...