Kotlin 语法学习笔记(上)

写了好长时间的移动端程序,都是基于 Java 的,时代在改变,现在有好多 Kotlin 的示例,虽然不一定以后会用到 Kotlin 去构建工程,但是不好说会有需要参考的 Kotlin 示例,直接看 Kotlin 的工程感觉有点吃力,学一点新的语言,丰富一下自己的技术宽度。

注:以下示例都是基于 Android 平台

函数声明和定义

每种语法在函数的使用上都会有些区别,先看看 Kotlin 的函数是怎么使用的

1、一般函数的声明

    private fun caculate(a : Int, b : Int) : Int{
        return a + b
    }

上述示例里面和 Java 最大的区别就是入参的形式,参数名在前,参数类型在后,使用 : 分开,函数声明的结尾处表示该函数的返回类型

2、匿名函数,在使用线程的时候,很多时候会开辟一个短小的匿名线程类似

    var testfun : (Int, Int) -> (Int) = {a,b -> a + b}
    var testSum = testfun(3,4);

匿名函数分前后两部分,前部分表示入参和出参类型,后部分表示实际的处理

变量声明

    var name : String = "a" //一般变量
    val age : Int = 19      //常量,类似 Java 的 final 类型    

字符串拼接

在最终获取的字符串上使用 $,表示一个变量名或者变量值,用于替换变量的实际数据

    var tmp = 1
    val finalStr = "tmp is $tmp"  

NULL检查机制

Kotlin 的 null 安全设计对于声明可为空的参数,强制使用时进行判空处理
在这里插入图片描述

在函数声明结束使用 ? 可以,可以返回不符合要求的类型
在这里插入图片描述

数字比较

Kotlin 中没有基础数字类型,只有封装的数字类型,定义的每一个变量,都是 Kotlin 封装的一个对象,通过封装的对象可以保证不会出现空指针。所以在比较两个数字时,就只有比较数据大小和对象是否相同。使用三等号 === 表示比较对象地址,双等号 == 表示比较数值值大小。

位操作符

以下时常用的位操作符,分别是:

shl – 左移位 (对应 Java 的 <<)
shr – 右移位 (对应 Java 的 >>)
ushr – 无符号右移位 (对应 Java 的 >>>)

When 表达式

when 将它的参数和所有的分支条件顺序比较,直到某个分支满足条件,类似 Java 中的 switch-case 语法,不同点在于,支持 isin 关键字。

        val items = setOf("android", "ios", "windows")

        var x : String? = "123"
        when (x) {
//            is String -> Log.e("XXX", "333")  // 支持类型判断
            in items -> Log.e("XXX", "222")		// 支持区间判断
            else -> Log.e("XXX", "111")  //输出 111
        }  
发布了23 篇原创文章 · 获赞 22 · 访问量 3895

猜你喜欢

转载自blog.csdn.net/qq_19154605/article/details/103090029