Kotlin是JetBrains推出的一种新的开源编程语言。它首次出现在2011年,当时JetBrains推出了名为“Kotlin”的项目。基本上像java、C++和C++一样,Kotlin也是一种“静态类型的编程语言”(语言中变量不需要在使用之前定义)。 静态类型并不意味着我们必须在使用变量之前先声明所有变量。当需要时,变量可以在程序中的任何地方初始化。 考虑下面的例子——
null
/* Java Code */ static int num1, num2; //explicit declaration num1 = 20 ; //use the variables anywhere num2 = 30 ; /* Kotlin Code*/ val a: Int val b: Int a = 5 b = 10 |
Kotlin支持是一个使用现代而强大的语言的机会,可以解决运行时异常和源代码冗长等常见问题。Kotlin很容易入门,可以逐步引入现有项目,这意味着你现有的技能和技术投资将得到保留。
科特林语的特点:
- 科特林回避了这个问题 空指针异常 i、 例如,如果我们试图分别为变量或函数赋值或返回null,那么它将无法编译。要编译它,我们必须添加“?”在变量类型之后。 考虑下面的例子
val name: String? =
null
//assigned null and it will compile also.
fun getName() : String? =
null
//returned null and it will compile too.
/* won’t compile */
val name: String? =
null
val len = name.length
/* correct way */
val name: String? =
null
val len = name?.length
- 多才多艺的
与Java的比较
- 零安全 –如前所述,Kotlin避免了空指针异常,即每当出现空指针异常时,它都会在编译时失败。
- 数据类 –在Kotlin中,有一些数据类可以自动生成样板文件,比如equals、hashCode、toString、getter/setter等等。 考虑下面的例子——
/* Java Code */
class
Book {
private
String title;
private
Author author;
public
String getTitle() {
return
title;
}
public
void
setTitle(String title) {
this
.title = title;
}
public
Author getAuthor() {
return
author;
}
public
void
setAuthor(Author author) {
this
.author = author;
}
}
但在科特林,上述同一类可以用一行简洁地定义——
/* Kotlin Code */ data class Book(var title:String,var author:Author)
- 类型推断 –在Kotlin中,有一件很棒的事情,你不必明确地(以清晰而详细的方式)指定每个变量的类型。但是,如果想显式定义数据类型,也可以这样做。 考虑下面的例子——
/* not explicitly defined */ fun main(args: Array) { val text = 10 println(text) } /* explicitly defined */ fun main(args: Array) { val text: Int = 10 println(text) }
- 函数式编程 –Kotlin包含许多有用的方法,包括高阶函数、lambda表达式、运算符重载、惰性求值、运算符重载等等。 函数式编程让Kotlin在收藏方面更加方便——
fun main(args: Array) { val numbers = arrayListOf(15, -5, 11, -39) val nonNegativeNumbers = numbers.filter { it >= 0 } println(nonNegativeNumbers) }
输出:
15,11
- 聪明的演员 –说到强制转换,Kotlin编译器非常智能。在许多情况下,不需要使用显式强制转换运算符,但在Kotlin中,存在对不可变值的“is检查”,并在需要时自动插入强制转换-
fun demo(x:Any){ if(x is String){ print(x.length) // x is automatically cast to string } }
Kotlin语言的好处:
- Kotlin编译成JVM字节码或类似Java的JavaScript。字节码是指编译后通过虚拟机而不是计算机处理器运行的编程代码。通过使用这种方法,一旦源代码被编译并通过虚拟机运行,它就可以在任何平台上运行。一旦kotlin程序被转换成字节码,它就可以通过网络传输,并由JVM(Java虚拟机)执行。
- Kotlin程序可以使用所有现有的Java框架和库。
- 科特林很容易学习,也很容易接近。只需阅读语言参考就可以轻松学会。语法清晰,易于使用和理解。
- Kotlin是开源的,采用它不需要任何成本。
- 科特林的零安全性很好。这种类型的系统通过拒绝编译试图赋值或返回null的代码来帮助我们避免null指针异常。
val name: String = null // tries to assign null, won’t compile. fun getName() : String = null // tries to return null, won’t compile.
- Kotlin更关注可读的语法,所以代码审查不是问题。
关于科特林的一些事实:
- 目前发布的版本是2017年7月4日发布的1.1.3-2。
- 科特林是自由的,过去是自由的,将来也是自由的。它是在Apache 2.0许可证下开发的,源代码可在GitHub上获得。
- 与Java相比,Kotlin更加简洁,并且与它100%可互操作。
- Kotlin作为Android上的一流语言受到支持,尽管它可以用于任何类型的开发,无论是服务器端还是客户端web。
- Kotlin受到所有主要Java IDE的支持,包括IntelliJ IDEA、Android Studio、Eclipse和NetBeans。
一些有用的链接:
本文由 阿卡什·帕尔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END