kotlin学习笔记(三)
来源:互联网 发布:姚明09年季后赛数据 编辑:程序博客网 时间:2024/06/01 07:14
一、for
for循环的三种方式,只要实现了iterator,都可以使用for循环。
fun main(args: Array<String>) {
val list = arrayListOf(12, 3, 4, 5)
for (i in list) {
}
for ((index, value) in list.withIndex()) {
}
for (indexValue in list.withIndex()) {
println("${indexValue.index}+${indexValue.value}")
}
}
二、具名参数 变长参数 默认参数
具名参数:在传参的同时,使用 参数名 = 值 的方式,将值传给某个具体参数。
变长参数:使用vararg,可传入多个值,或传入array(前带*),变长参数后的参数需使用具名参数。
变长参数:可赋予某个参数某个默认值,当该参数未传值时,即为该默认值。
fun main(args: Array<String>) {
val list = arrayListOf(1, 2, 3, 6)//list不行
val array = intArrayOf(1, 2, 3, 6)
test(p1 = "zzz", p3 = 1, p2 = *array)
test("zzz", 1, 2, 3, 4, p3 = 1)
test(p3 = 1, p2 = *array)
}
fun test(p1: String = "11", vararg p2: Int, p3: Int) {
}
三、抽象类 接口
interface InputDevice {
fun input(event: Any)
}
interface USBInputDevice : InputDevice
interface BLEInputDevice : InputDevice
abstract class USBMouse(val name: String) : USBInputDevice {
override fun input(event: Any) {
}
}
class LogMouse : USBMouse("罗技") {
}
class Computer {
fun addUSBInputDevive(inputDevice: USBInputDevice) {
println("add usb input device:$inputDevice")
}
fun addBLEInputDevive(inputDevice: BLEInputDevice) {
println("add ble input device:$inputDevice")
}
fun addInputDevice(inputDevice: InputDevice) {
when (inputDevice) {
is USBInputDevice -> {
addUSBInputDevive(inputDevice)
}
is BLEInputDevice -> {
addBLEInputDevive(inputDevice)
}
else -> {
}
}
}
}
阅读全文
0 0
- kotlin学习笔记(三)
- kotlin学习笔记(三)
- Kotlin学习笔记(三)---Kotlin密封类
- Kotlin学习笔记(三)- 函数
- Kotlin学习笔记(二)——示例篇三
- Kotlin学习笔记(三)类和继承
- Kotlin笔记(三)数据类型
- Kotlin 学习笔记(三) 类和继承
- Kotlin学习笔记(一)
- kotlin学习笔记(二)
- kotlin学习笔记(四)
- kotlin学习笔记(四)
- kotlin学习笔记(五)
- kotlin学习笔记(六)
- kotlin学习笔记(七)
- kotlin学习笔记(八)
- kotlin学习笔记(二)
- Kotlin学习笔记(一)
- 数组中的逆序对
- 深入java集合系列:HashMap 二
- 洛谷 [P1282] 多米诺骨牌
- js正则表达式判断电话号码是哪个运营商
- 从C调用Python脚本unableto load the file system codec ImportError错误解决方法
- kotlin学习笔记(三)
- PHP基础语法
- 第二讲 c++初步
- jquery 插入文本时不能插入转义字符
- Android扫一扫(Zxing),闪光灯,生成二维码图片,解析二维码(条码)等
- 【Oracle】授权导入和导出( IMP_FULL_ DATABASE ORA-00990 )
- .gitignore文件使用的误区
- golang make & new
- Android 基类BaseActivity的封装