📜  Kotlin 简介

📅  最后修改于: 2022-05-13 01:55:51.425000             🧑  作者: Mango

Kotlin 简介

Kotlin是由 JetBrains 开发的一种静态类型的通用编程语言,它构建了 IntelliJ IDEA、PhpStorm、Appcode 等世界一流的 IDE。它于 2011 年由 JetBrains 首次引入,是一种用于 JVM 的新语言。 Kotlin 是面向对象的语言,是一种比Java“更好的语言”,但仍可与Java代码完全互操作。

Kotlin 由 Google 赞助,于 2017 年宣布为Android 开发的官方语言之一。

Kotlin 的例子——

fun main()
{
    println("Hello Geeks");
}

Kotlin 的主要特点:

  1. 静态类型——静态类型是一种编程语言特性,这意味着每个变量和表达式的类型在编译时都是已知的。尽管它是静态类型语言,但它不需要您显式指定您声明的每个变量的类型。
  2. 数据类——在 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 中,只有一行用于定义上述类——

    /* Kotlin Code */
    data class Book(var title:String, var author:Author)
    
  3. 简洁——它大大减少了用其他面向对象编程语言编写的额外代码。
  4. 安全——它通过支持可空性作为其系统的一部分来提供最烦人和恼人的 NullPointerExceptions 的安全性。
    默认情况下,Kotlin 中的每个变量都是非空的。
    String s = "Hello Geeks"    // Non-null 
    

    如果我们尝试分配 s null 值,那么它会给出编译时错误。所以,

    s = null                    // compile time error
    

    要将空值分配给任何字符串字符串,应将其声明为可为空的。

    String nullableStr? = null  // compiles successfully
    

    length()函数也在可为空的字符串上禁用。

  5. 与Java互操作– Kotlin 在Java虚拟机 (JVM) 上运行,因此它完全可以与Java互操作。我们可以轻松地从 kotlin 访问 use Java代码和从Java访问 kotlin 代码。
  6. 函数式和面向对象的能力——Kotlin 拥有丰富的许多有用的方法,包括高阶函数、lambda 表达式、运算符重载、惰性求值、运算符重载等等。
    高阶函数是一个接受函数作为参数或返回函数或两者都可以的函数。

    高阶函数的例子——

    fun myFun(company: String,product: String, fn: (String,String) -> String): Unit {
        val result = fn(company,product)
        println(result)
    }
    
    fun main(args: Array){
        val fn:(String,String)->String={org,portal->"$org develops $portal"}
        myFun("JetBrains","Kotlin",fn)
    }
    

    输出:

    JetBrains develops Kotlin
  7. 智能转换——它显式地对不可变值进行类型转换,并自动将值插入到其安全转换中。
    如果我们尝试在不进行安全转换的情况下访问可空类型的 String (String? = “BYE”),则会产生编译错误。
    fun main(args: Array){
        var string: String? = "BYE"          
            print(string.length)       // compile time error
        }
    }
    
    fun main(args: Array){
        var string: String? = "BYE"
        if(string != null) {               // smart cast
            print(string.length) 
        }
    }
    
  8. 编译时间——它具有更高的性能和更快的编译时间。
  9. 工具友好——它具有出色的工具支持。任何Java IDE——IntelliJ IDEA、Eclipse 和 Android Studio 都可以用于 Kotlin。我们也可以从命令行运行 Kotlin 程序。

Kotlin 语言的优点:

  • 易于学习 - Basic 几乎与Java类似。如果有人使用Java工作,那么很快就会很容易理解。
  • Kotlin 是多平台的——Java 的所有 IDE 都支持 Kotlin,因此您可以编写程序并在任何支持Java的机器上执行它们。
  • 它比Java安全得多。
  • 它允许通过使用高级框架在您的新 Kotlin 项目中使用Java框架和库,而无需更改Java中的整个项目。
  • Kotlin 编程语言,包括编译器、库和所有工具都是完全免费和开源的,可在 github 上获得。这是 Github 的链接 https://github.com/JetBrains/kotlin

Kotlin 语言的应用:

  • 您可以使用 Kotlin 构建 Android 应用程序。
  • Kotlin 还可以编译为 JavaScript,并使其可用于前端。
  • 它还被设计用于 Web 开发和服务器端开发。