kotlin编程:语言简介

作者: 麻辣阁 分类: kotlin 发布时间: 2018-11-26 12:29

可以将kotlin编程语言视作一门全新的语言

很多网上教程和书籍在介绍 Kotlin语言时, 会提及类似如下的内容:

  • 了解Java 和 OOP, 最好看 Java的入门书, 有 Java 编程经验更好. 这种类似的介绍让人感觉 kotlin 是为 Java 程序员编写的一样. 当然有 Java 编程经验最好, 没有也不是不能学 kotlin!
  • 有 Android 编程经验最好. 如果学 kotlin 不是为了开发 Android App, 也要有类似经验?!

我们完全可以将 kotlin 看作是一门可以从头开始学的全新语言, 在这种语言身上虽然可以看到很多语言的影子, 甚至可以调用 Java库或者转成 Java 或 JavaScript 语言, 但我们依然可以只用 kotlin完成通用语言可以完成的大部分事情, 能和 Java 或 JavaScript互通等能力只是为了让 kotlin能够接纳更多的使用者, 或者使用现有的库. 从语言语法角度讲, kotlin 依然是它自己.

kotlin 是门相对全能的编译型语言, 在加一门解释型语言如 Python, 很多人手上的一般编程工作应该都可以解决了.

windows下编程环境安装

  • 安装 JDK, 并将类似 C:\Java\jdk1.8.0_192\bin 的路径加到系统 path
  • IDE: 下载个 IntelliJ IDEA 社区版安装, 安装时选中 “Download and install JRE x86 by JetBrains”. 默认已经作为插件安装了 kotlin.
  • 命令行: 安装IntelliJ IDEA 社区版之后, 将类似如下路径加到系统 path: C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3\plugins\Kotlin\kotlinc\bin, 就可以从命令行运行 kotlinc了. 如果升级 IntelliJ IDEA, 可能需要修改对应的path路径.

kotlin 简单的示例

选 Kotlin/JVM类型创建新项目 ktPorject, 在 src 下新增 kotlin 文件 temp.kt, 在代码区输入 main 后按 Tab键创建入口函数, 增加一行打印代码. kotlin 程序的入口函数是main, 类似 C语言, 哈?

fun main(args: Array<String>) {
    println("Hello world!")
}

按 Alt + Shift + F10 编译运行,输出:

Hello world!

Process finished with exit code 0

静态语言需要编译费时间是没办法的, 我们在命令行上打印一下:

C:\>kotlinc
Welcome to Kotlin version 1.3.0 (JRE 1.8.0_192-b12)
Type :help for help, :quit for quit
>>> println("Hello world!")
println("Hello world!")Hello world!

有点像 Python 的交互环境, ha?

命令行下探索一下变量,字符,字符串,整数和浮点数:

>>> var name = "David"
>>> name
David
>>> name = "Bob"
>>> name
Bob
>>> val name = "Smith"
>>> name
Smith
>>> name = "Bill"
error: val cannot be reassigned
name = "Bill"
^

>>> var name ='Adam'
error: too many characters in a character literal ''Adam''
var name ='Adam'
          ^

>>> var name ='A'
>>> name
A
>>> var age = 12;
>>> age
12
>>> age = 12.0
error: the floating-point literal does not conform to the expected type Int
age = 12.0
      ^
>>> age = 54325454252524
error: the integer literal does not conform to the expected type Int
age = 54325454252524      
  • 变量前需要加 var 或者 val, 分别表示可变的变量 或 不可变的变量
  • 字符串用双引号, 字符用单引号
  • kotlin 是强类型语言, 并且在编译时已经确定了类型. 如果没有指定类型, kotlin自己会尝试指定. 上例中, var age =12 让kotlin推断变量 age 是整数类型而不是长整数类型, 所以后面赋值过大就会报错. 总之, 数据的类型要么手工指定, 要么kotlin自己会推断指定, 建议手工指定.
  • 语句结尾可以用分号也可以不用. 如果习惯了 Python语言, 是不会加分号的, 真的多余, 除非你想在一行上写很多条语句

注释

  • // ,单行注释, IntelliJ IDEA 快捷键 CTRL + / ,按一次是注释, 再按一次是取消注释, 可以选中多行执行该操作
  • /* */, 多行注释, IntelliJ IDEA 快捷键 CTRL + Shift + / ,按一次是注释, 再按一次是取消注释, 可以选中多行执行该操作

Kotlin 参考资料


发表评论

电子邮件地址不会被公开。 必填项已用*标注