Kotlin | Android语言,现为谷歌官方语言

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
喜欢就支持一下吧
点赞7 分享