# Kotlin 学习
- 靠他灵
- Jetbrains 发布基于 JVM 的编程语言
- Jetbrains 是做编译器起家的公司,总部捷克,有圣彼得堡和美国部分
- Jetbrains https://www.jetbrains.com/
- IDEA
# Kotlin 有点
- 简洁-数据类扩展方法区间
- 空值安全(针对空值处理的运算符)
- 100% 兼容 java scala(scala 和 Java 不兼容)
- 函数式编程 JDK1.8 (Java 是面向对象编程,对象是一等公民,而函数式编程函数是一等公民,JDK1.8 Lambda 表达式)
- 协程 thread(协程轻量级,线程成本高,协程可以像写同步代码一样写异步代码,线程对专门接口回调)
- DSL 领域特定语言
class News {
private String title;
private String desc;
public String getTitle(){
return title;
}
public void setTitle(String title){
this.title = title;
}
public String getDesc(){
return desc;
}
public void setDesc(String desc){
this.desc = desc;
}
}
空指针异常分为两种:编译异常和空指针异常。Kotlin 添加了空值判断运算符
Person person = null;
if(person!=null){
String name = person.getName()
}
DSL
html {
head {
title { +"this is title"}
}
body {
h1{+"this is body"}
}
}
- Kotlin script(gradle).kts
- Java 虚拟机应用
- Web Kotlinee
- Javafx JDK1.8 之后
- 前端开发 kotlinjs
- Android 开发
- 支持开发 iOS
- kotlin Native 程序(完全抛弃 JVM 虚拟机)
- 全站工程师
# 参考资料
# HelloWorld
fun main(args: Array<String>){
println("hello world");
println("arguments: ${args.joinToString()}")
}
# 查看 kotlin 对应的 Java 代码
- 找到 Kotlin 生成字节码 使用 jclasslib 插件
- 字节码对应的 Java 代码