Kotlin学习(一)简单了解下Kotlin
来源:互联网 发布:表达知错的句子 编辑:程序博客网 时间:2024/06/06 09:59
前不久,Google IO 2017上谷歌官方正式支持Kotlin成为官方认可的安卓开发第一语言,而且从Android Studio 3.0开始,将直接集成Kotlin而无需安装任何的插件。
- Kotlin简介
- 一些特点
- 空安全
- 语法简单简洁
- 字符串模板
- 支持Lambda表达式函数式编程
- 完美与Java交互
- 开发工具
- IntelliJ IDEA
- Android Studio
- IntelliJ IDEA
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完美支持。
Android Studio
Android Studio 是一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。
在3.0版本增加了对Kotlin的支持
阅读全文
1 0
- Kotlin学习(一)简单了解下Kotlin
- Kotlin学习(一)
- kotlin学习(一)
- Kotlin学习(一)
- Kotlin学习(一)Kotlin插件安装
- Kotlin学习笔记(一)
- 学习一下Kotlin(一)
- Kotlin学习笔记(一)
- Kotlin学习笔记(一)
- kotlin学习笔记(一)
- kotlin学习笔记(一)
- Kotlin学习笔记(一)---从零学习Kotlin
- 一步步学习kotlin for android(一)配置kotlin
- kotlin学习(一)kotlin的基本句法语法
- Android Kotlin学习笔记(一)---初探Kotlin
- 一步一步学习Kotlin(一)
- kotlin入门学习(一)
- Kotlin : 学习笔记一
- Biomechanical Design of the Berkeley Lower
- Sensing Pressure Distribution on a Lower-Limb Exoskeleton
- Android中Fragment的使用
- C# 面向过程 猜拳游戏
- js 开发遇到的问题
- Kotlin学习(一)简单了解下Kotlin
- python 列表去重(不可变类型和可变类型)
- 在centos7.x系统,配置docker私有镜像仓库
- 定时任务-spring-quartz
- Effective Java读书笔记二一(Java Tips.Day.21)
- 搞了一天,为了一个防火墙的没有禁止成功!!!redhat 7 & Oracle Linux 7 & Centos 7注意!!
- es6中的class类下
- 在centos下,关于docker环境变量文件的问题
- SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤