java程序员的kotlin课

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

2020-01-22  本文已影响0人  青_雉

kotlin 出来也有些年头了,对于服务端的java程序员来讲,好多人对此并不感冒;这么多年出来的新语言多了,都说要怎么怎么样,到头来还是java稳。笔者也曾经持有这种看法,而且刚刚听说kotlin的时候,我正痴迷于学golang;所以接入kotlin的时间比一般人晚了许多。
但最近狠下心花了些时间学了一下kotlin,并强迫自己所有需要写java代码的地方都采用kotlin来做,越来越发现不想转回去写java了,这种感觉很像最开始从eclipse转到idea的时候,刚开始有点抗拒,各种快捷键也不熟悉,后来发现真的爽,而且回不去了。
经过一段时间的了解,我觉得kotlin有 3个方面的优点吸引了我:

环境搭建

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的开发环境,并以两个简单的例子做结尾,代码很简单详细你一定能看懂。源码路径

系列文章快速导航:
java程序员的kotlin课(一):环境搭建
java程序员的kotlin课(N):coroutines基础
java程序员的kotlin课(N+1):coroutines 取消和超时
java程序员的kotlin课(N+2):suspending函数执行编排

上一篇 下一篇

猜你喜欢

热点阅读