java程序员的kotlin课(一):环境搭建

kotlin 出来也有些年头了,对于服务端的java程序员来讲,好多人对此并不感冒;这么多年出来的新语言多了,都说要怎么怎么样,到头来还是java稳。笔者也曾经持有这种看法,而且刚刚听说kotlin的时候,我正痴迷于学golang;所以接入kotlin的时间比一般人晚了许多。

但最近狠下心花了些时间学了一下kotlin,并强迫自己所有需要写java代码的地方都采用kotlin来做,越来越发现不想转回去写java了, 这种感觉很像最开始从eclipse转到idea的时候 ,刚开始有点抗拒,各种快捷键也不熟悉,后来发现真的爽,而且回不去了。

经过一段时间的了解,我觉得kotlin有 3个方面的优点吸引了我:

  • 与java项目无缝切换,可以混着写混着玩,不用一刀切的换成新语言,可以先尝一口试一试;这一点让我愿意 迈出尝试的第一步
  • kotlin相对于java写法上可以理解为各种语法糖,而且这糖太甜了,谁用谁知道;这一点让我 用了就停不下来
  • kotlin支持协程,用java做过异步编程的同学都知道异步编程很 烧脑 , 协程可以让开发者以同步的方式写异步代码,虽然相比于golang的协程还没那么方便,但是在jvm生态里,真的是可以解决很大的问题了; 这一点让我看到kotlin的未来
    所以如果看了上面的文字,你也愿意试一下,欢迎跟随这一系列文章来进行学习。

环境搭建

maven

添加依赖

<dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-stdlib</artifactId>
    <version>${kotlin.version}</version>
</dependency>

添加plugin

<plugin>
  <groupId>org.jetbrains.kotlin</groupId>
  <artifactId>kotlin-maven-plugin</artifactId>
  <version>${kotlin.version}</version>
  <executions>
    <execution>
      <id>compile</id>
      <phase>compile</phase>
      <goals>
        <goal>compile</goal>
      </goals>
    </execution>
    <execution>
      <id>test-compile</id>
      <phase>test-compile</phase>
      <goals>
        <goal>test-compile</goal>
      </goals>
    </execution>
  </executions>
  <configuration>
    <jvmTarget>1.8</jvmTarget>
  </configuration>
</plugin>

建议单独把kotlin源码设置一份源码路径

image.png

gradle

基于gradle创建kotlin的项目就相当简单了, 本系列课程源码也将基于gradle方式进行配置

image.png

HelloWorld

创建文件HelloWorld.kt, 内容如下:

fun main() {
  println("Hello World")
}

与java代码交互

假设有一java类

public class Student {

  private String name;

  private int age;

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public int getAge() {
    return age;
  }

  public void setAge(int age) {
    this.age = age;
  }

  @Override
  public String toString() {
    return "Student{" +
      "name='" + name + '\'' +
      ", age=" + age +
      '}';
  }
}

kotlin代码可直接与java代码进行交互

fun main() {
  //kotlin 声明变量时可以直接使用var或val, var表示变量,val表示不可变量
  //创建对象不需要new关键字
  //每一行都不需要分号
  var s = Student()
  //可以直接通过 .属性 来取值或赋值
  s.name = "zhangsan"
  s.age = 12
  println(s)
}

总结

本文主要讲解如何搭建kotlin的开发环境,并以两个简单的例子做结尾,代码很简单详细你一定能看懂。 源码路径

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章