Kotlin学习(一)简单了解下Kotlin

来源:互联网 发布:表达知错的句子 编辑:程序博客网 时间:2024/06/06 09:59

前不久,Google IO 2017上谷歌官方正式支持Kotlin成为官方认可的安卓开发第一语言,而且从Android Studio 3.0开始,将直接集成Kotlin而无需安装任何的插件。

  • Kotlin简介
  • 一些特点
    • 空安全
    • 语法简单简洁
    • 字符串模板
    • 支持Lambda表达式函数式编程
    • 完美与Java交互
  • 开发工具
    • IntelliJ IDEA
      • Android Studio

Kotlin简介

  • 来自于著名的IDE IntelliJ IDEA(Android Studio基于此开发) 软件开发公司 JetBrains(位于东欧捷克)
  • 起源来自JetBrains的圣彼得堡团队,名称取自圣彼得堡附近的一个小岛(Kotlin Island)
  • 一种基于JVM的静态类型编程语言

    大概是这个样子

一些特点

空安全

在许多语言中都存在的一个大陷阱包括 java ,就是访问一个空引用的成员,结果会有空引用异常。在 java 中这就是 NullPointerException 或者叫 NPE。
Kotlin 类型系统致力与消灭 NullPointerException 异常。唯一可能引起 NPE 异常的可能是:
明确调用 throw NullPointerException() 外部 java 代码引起 一些前后矛盾的初始化(在构造函数中没初始化的成员在其它地方使用)

语法简单简洁

比如我们main函数打印一句话
java是这样:

public static void main(String[] args) {    System.out.println("Hello Darwin!");}

而Kotlin可以是这样:

fun main(args:Array<String>)= print("hello Darwin")
  • Kotlin支持类型推断,没有Java那样的啰嗦。
  • 另外用var表示变量,val表示常量更加的简洁
  • 方法也很简单,连function都缩写成了fun,平添了几分双关之意。
  • 类的继承和实现很简单,使用:即可
  • Kotlin每个句子都不需要加分号(;)

字符串模板

我们可以像PHP那样在字符串里面嵌入变量输出

var name = "Darwin"print("hello $name")//输出 hello Darwin

甚至是加一点表达式,比如这样

var name = "Darwin"print("hello $name,your name has ${name.length} characters ")//输出 hello Darwin,your name has 6 characters 

支持Lambda表达式,函数式编程

比如从列表里筛选出整数

var list:List<Int> = listOf(1,2,3,4,5,6,7,8,9,10)println(list.filter{it%2==0})//输出 [2, 4, 6, 8, 10]

完美与Java交互

Kotlin和Java都属于基于JVM的编程语言。Kotlin和Java的交互性很好,可以说是无缝连接。这表现在

  • Kotlin可以自由的引用Java的代码,反之亦然。
  • Kotlin可以现有的全部的Java框架和库
  • Java文件可以很轻松的借助IntelliJ的插件转成kotlin

开发工具

IntelliJ IDEA

同样由JetBrains公司开发的一款IDE,对Kotlin完美支持。
IntelliJ IDEA

Android Studio

Android Studio 是一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。
在3.0版本增加了对Kotlin的支持
这里写图片描述