kotlin基础

最近在看一些kotlin相关的一些东西,有些细节做一下记录

1. kotlin配置

Android Studio3.0以下是需要下载单独的kotlin插件配置如下

  • gradle 文件需要配置
 apply plugin: 'kotlin-android'
 apply plugin: 'kotlin-android-extensions'
     sourceSets {
        main.java.srcDirs += 'src/main/kotlin' // 注明Kotlin路径
    }
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" //直接使用build.gradle中的kotlin版本

在根目录的gradle文件中需要添加

dependencies {
    classpath 'com.android.tools.build:gradle:2.3.2'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
  • kotlin开发Android
    获取控件的时候直接获取id就可以,相当于 Kotlin 把findviewbyid封装了
   tv_text22.text="""你好 很高兴见到你,Kotlin""".trimMargin()
        tv_text22. textSize= 26F
        tv_text22.setTextColor(resources.getColor(R.color.colorPrimary))`
  • 关键字
    in:属于某个范围内
        for (i in 1 .. 100) {
            Log.e(TAG, "name======{$i}")
        }
is:是否是某种类型
        if (tv_text22 is TextView) {
            toast("类型判断对了")
        }
downTo从大到小于1..100中..相对应
for (i in 100 downTo 1) {
            Log.e(TAG, "name======{$i}")
        }
step 可以进行任意数量的迭代,而不是每次变化都是1 下方标识每次变化是10
        for (i in 100 downTo 1 step 10) {
            Log.e(TAG, "name======{$i}")
        }
"""表示可以输入多行,相当于"/"
       tv_text22.text="""你好 很高兴见到你,Kotlin
我没有用换行符就换行了""".trimMargin()
?: 非空判断符区别于? ?:表示的是当左边为空的时候返回右边的值,?表示的是当为空的时候不做处理
 val a = arrayList?.size?:-1

新建数组

  val arrayList = arrayListOf<Int>()空数组
  val arrayList = arrayListOf<Int>(1,2,3)//{[1, 2, 3]}
   val arrayList = intArrayOf(1, 2, 3)//[1, 2, 3]

map集合

//    val map = mapOf(1 to "你" ,2 to "wo")//不可改变map
//
//        val map= emptyMap<String,String>()//空map
//
        val map = hashMapOf<Int,String>(1 to "你" ,2 to "wo")//可变map
        map.put(9,"他")
        for ((k,v)in map) {
            Log.e(TAG, "k======$k"+"v=====$v")
        }
        Log.e(TAG, "集合======$map")

list集合也分为两种 可变和不可变

        val list = listOf("a", "b", "c")//不可变集合

        val mList = linkedSetOf("a", "b", "c")//可变集合
        mList.add("d")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值