Kotlin教程(一):走进Kotlin的世界

栏目: Android · 发布时间: 6年前

内容简介:Kotlin教程(一):走进Kotlin的世界

Kotlin教程(一):走进Kotlin的世界

今年Google I/O大会上,官方扶正Kotlin的举动火遍整个Android开发圈。不过,有些开发者似乎过度解读Google的意图,认为Kotlin要取代 Java 成为Android开发的标配,大会上说的是 official support kotlin ,并非 replace java with kotlin 。以至于后来回公司上班,后台童鞋打招呼的时候还问,听说你们Android以后不用Java要用Kotlin写(那位后台童鞋之前用Kotlin写过服务器代码)。好吧,我本人是不支持官方一支持Kotlin后,就说 Java辣鸡,Kotlin才是王道 这类说法。毕竟,语言终究有自己的优缺点,既然官方开始支持了,我们不妨利用一些空余时间学习一下Kotlin好了。

Kotlin简介

Kotlin是JetBrains推出项目,是一种在Java虚拟机上运行的静态类型编程语言,也可以被编译成为JavaScript源代码。在2011年7月推出之前,它已被开发一年之久。直到2016年2月15日,官方发布了第一个稳定的release版本 —— Kotlin v1.0。从Kotlin官网介绍来看,这近乎是一门野心勃勃的语言,

Kotlin教程(一):走进Kotlin的世界

  • 基于JVM编程,这意味着Kotlin可以写服务器代码;
  • 基于Android和Browser编程,这意味着不仅可以写客户端编程,连前端开发都可以;
  • 基于Native编程,直接绕过JVM与底层代码打交道,好彪悍;

不过Kotlin-Native项目还在开发阶段,不知道最终推出的项目如何,还是蛮期待的,感兴趣的朋友可以关注它的Github更新

https://github.com/JetBrains/kotlin-native

Kotlin与Android

我在2015年的时候就开始留意到Kotlin这门语言(当然仅仅是留意,并未深入了解过),因为偶尔逛Github的时候会看到一些Kotlin编写的Android开源项目,直到2016年12月底的时候,又发现了Github的Trending榜上居然有Kotlin一项。

Kotlin教程(一):走进Kotlin的世界

感到惊讶之余,也说明了越来越多的开发者在Github上提交Kotlin项目代码。这也意味着如果我们想要用Kotlin开发Android项目,可以从Github上获取到很多开源项目支持,如:

环境搭建

开发环境上,需要先安装Apache Ant(1.9.4或更高版本)和JDK(1.6, 1.7 and 1.8)。然后再安装开发的IDE,关于Kotlin开发的IDE有很多,如:

Kotlin教程(一):走进Kotlin的世界

  • Android Studio:2.x版本需要安装Kotlin插件支持,3.0开始默认支持编写Kotlin代码,无需插件。

Kotlin教程(一):走进Kotlin的世界

  • Eclipse:通过Help -> Eclipse Marketplace搜索Kotlin插件安装。

Kotlin教程(一):走进Kotlin的世界

Kotlin教程(一):走进Kotlin的世界

小到记事本同样可以编写Kotlin代码(这句简直是废话)。

Kotlin语法特点

  • Kotlin与Java语法并不兼容,但可以和Java代码相互运作(混合编译)。跑一个最简单的混编Demo,用Java代码创建一个MainActivity,再用Kotlin编写一个Lesson0Activity,从MainActivity调用startActivity进入Lesson0Activity。

Kotlin教程(一):走进Kotlin的世界

  • 代码精简,相同的功能,比Java实现的代码量少。如你要创建一个Entity类,除了声明属性外你还要创建对应的get、set方法,分别来看看Java和Kotlin是怎么做,Kotlin代码就一行搞定。

Kotlin教程(一):走进Kotlin的世界

获取Entity中的属性值,这里不要认为跟Java中把属性声明成为public一样(后面的文章再详细说明)

Kotlin教程(一):走进Kotlin的世界

关于代码精简的特点还有很多例子,不一一赘述。

  • 代码语句不需要 作为结束,这点和 Python 一致。(加了分号也不会报错)
  • 使用 var 声明变量,用 val 声明常量,用 fun 声明函数。

Kotlin教程(一):走进Kotlin的世界

  • 继承父类和接口无需extends、implements,只需

Kotlin教程(一):走进Kotlin的世界

  • 支持lambda表达式。在Java8前,我们要传入一个接口是这样的

Kotlin教程(一):走进Kotlin的世界

Java8有了Lambda表达式后是下面这样的

Kotlin教程(一):走进Kotlin的世界

而Kotlin支持Lambda可以写成这样,对比Java版的setOnClickListener大家可以看得出区别。

Kotlin教程(一):走进Kotlin的世界

  • 空指针检测。NullPointerException(也称NPE)是开发过程中最常遇到的Exception之一了,为此我们不得不写很多防御性代码去判断一个对象是否为null。而Kotlin默认是不需要变量为null的,否则在编译的时候就会报错,

Kotlin教程(一):走进Kotlin的世界

要想程序正常运行,你就需要改成下面这样的代码

Kotlin教程(一):走进Kotlin的世界

关于Kotlin的NPE处理,还有很多有意思的地方,同样以后再细说。

  • 数据类型自动推断,创建对象无需new。

Kotlin教程(一):走进Kotlin的世界

关于Kotlin的特点暂时写到这里,我也是一边学习一边写文章记录,后面说不定还得看到更多亮点。

运行Kotlin代码

简单了解完Kotlin后,最后从IDE上跑一下代码来结束本文,下面分别从IntelliJ IDEA和Android Studio环境下分别运行一下代码。

安装IntelliJ IDEA后,创建一个基于JVM开发的Kotlin Project,

Kotlin教程(一):走进Kotlin的世界

然后再src目录下创建一个Kotlin Class

Kotlin教程(一):走进Kotlin的世界

写一段最简单的入门代码,点击运行即可看到控制台有输出结果,以及生成相应的字节码文件。

Kotlin教程(一):走进Kotlin的世界

Kotlin教程(一):走进Kotlin的世界

在Android Studio 2.x的环境下运行Kotlin代码需要先安装前面提到的Kotlin插件,安装完后重启AS,你就可以在对应的包下创建Kotlin的类文件以及Activity等

Kotlin教程(一):走进Kotlin的世界

创建完Kotlin类后,会弹出下面的弹窗配置相应的Kotlin依赖

Kotlin教程(一):走进Kotlin的世界

这样就会在你的AS Project以及对应的Module下出现如下配置

Kotlin教程(一):走进Kotlin的世界

Kotlin教程(一):走进Kotlin的世界

这样你就可以在AS愉快的跑起Kotlin代码了。

本文所涉及到的代码,都放在: https://github.com/D-clock/KotlinSample ,需要的同学可以自取。Kotlin官方也给了很多学习示例代码,可以从这里获取学习: https://try.kotlinlang.org


以上所述就是小编给大家介绍的《Kotlin教程(一):走进Kotlin的世界》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Compilers

Compilers

Alfred V. Aho、Monica S. Lam、Ravi Sethi、Jeffrey D. Ullman / Addison Wesley / 2006-9-10 / USD 186.80

This book provides the foundation for understanding the theory and pracitce of compilers. Revised and updated, it reflects the current state of compilation. Every chapter has been completely revised ......一起来看看 《Compilers》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具