Kotlin之路-起点篇

5 篇文章 0 订阅
1 篇文章 0 订阅

概述

  2017年google开发者大会上,Google正式将kotlin列为其官方语言。那么,到底kotlin有何厉害之处呢?简单来说,使用kotlin,可以让代码更加简洁和易读,同时支持函数式编程,100%兼容老牌开发语言-Java,并且还有很多实用的语法糖。知乎上还有关于kotlin的大牛论战,看法褒贬不一,但是,个人看来,kotlin是大势所趋。如果你认为kotlin只能用来开发Android,那就太小看它的用处了,kotlin不仅可以用来开发Android端,还可以开发后台服务端,前端等,怎么样是不是很强大?根据大神爆料,未来kotlin可能还会支持ios开发,因为它与swift语法实在太像了!

资料

  到这里,你还敢说你不心动吗?是不是迫不及待想去学习一下了?什么,如何学?个人看来,官方文档是最好的学习资料,如果觉得不够,可以看官方推荐的基本不错的书籍:,,等,虽然都是国外书籍,但是讲解很透彻和生动。点击这里下载完整官方文档PDF版

常见用法

这里简单就java开发中常见用法与kotlin进行比较:

  • for循环:

Java中我们写一个for循环一般这样写:

List<String> list = new ArrayList<String>();
list.add("red");
list.add("green");
list.add("blue");
for(int i=0;i<list.size();i++){
    System.out.println(list.get(i));
}

而在kotlin中我们可以这样写:

val list = listOf("red", "green", "blue")
for (item in list) {
    println(item)
}
  • 多种情况的条件语句:

在Java里,当我们碰到多种条件时,一般会用switch语句替代if-else语句,比如:

private void test(int sign){
        switch (sign){
            case 0:

                System.out.println("this is 0");

                break;

            case 1:

                System.out.println("this is 1");

                break;

            case 2:

                System.out.println("this is 2");

                break;
            default:
                throw new IllegalArgumentException("out of range!");
        }
    }

在kotlin中,我们甚至可以这样:

fun describe(obj: Any): String =
    when (obj) {
        1 -> "One"
        "Hello" -> "Greeting"
        is Long -> "Long"
        !is String -> "Not a string"
        else -> "Unknown"
}
  • 区间用法:
    如果我们需要将已知数字进行简单筛选和排序,Java中无非使用for和if-else语句,而kotlin中可以这样使用:
for (i in 4 downTo 1 step 2) print(i) 
// 输出结果为:“4 2”

我们还可以用in运算符来判断集合内是否包含某个元素:

when {
     "orange" in list -> println("juicy")
     "apple" in list -> println("apple is fine too")
}
  • 各种表达式:
    以往,我们在Java中如果需要使用条件或者控制语句得到返回值,一般要在函数内部实现,而kotlin可以直接通过表达式来实现,比如这样:
fun transform(color: String): Int {
    return when (color) {
       "Red" -> 0
       "Green" -> 1
       "Blue" -> 2
       else -> throw IllegalArgumentException("Invalid color param value")
    }
}

或者这样:

fun foo(param: Int) {
    val result = if (param == 1) {
        "one"
    } else if (param == 2) {
        "two"
    } else {
        "three"
    }
}
  • 类型检测:
    我们可以使用 is运算符来检测一个表达式是否为某个类型的一个实例:
fun getStringLength(obj: Any): Int? {
     // obj 在 && 右边⾃动转换成 String 类型
     if (obj is String && obj.length > 0) {
        return obj.length
     }
     return null
}
  • 使用lambda表达式来过滤和映射集合:
fruits
     .filter { it.startsWith("a") }
     .sortedBy { it }
     .map { it.toUpperCase() }
     .forEach { println(it) }

……

最后

看过了这么多kotlin用法,你对这门语言怎么看呢?当然,我只是列举了几个kotlin中常见的语法糖,它的强大之处远不止于此,更多用法可以参考官方文档,后面我也会分专题记录其用法,并最终通过一个Android项目来展示。

如果你有更多建议和问题,欢迎留言一起探讨,也欢迎一起加入Android开发大家庭:
Android集中营

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值