从 Hello World 开始

学一门编程语言的开始往往是一个最简单的 Hello World 程序,我们的 Kotlin 学习也不例外:

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

我们来分析一下有意义的两行代码:

fun main(args: Array<String>){}

这行代码用 fun 关键字定义了一个名为 main 的函数,这个函数有一个 Array<String>(字符串数组) 类型的参数 args 。这句代码与 Java 中声明 main 函数的意义是一样的:

public class HelloWorld{
 public static void main(String[] args){}}

我们再分析一下,Kotlin 与 Java 声明 main 函数的方式不同之处:

  1. Kotlin 使用 fun 关键字显式地声明函数,Java 则通过方法名后的括号表明这是个方法;

  2. Kotlin 允许创建 包级函数,函数不一定在类里面,Java 则要求所有方法必须包括在类里;

  3. Kotlin 中所有变量、函数和类默认都是 public 的,Java 则需要用 public 关键字声明处处可用;

  4. Kotlin 抛弃了静态变量和静态方法,没有 static 关键字,Java 则用 static 关键字声明静态成员;

  5. Kotlin 中声明一个函数没有返回值使用 Unit 关键字,但是一般省略,Java 则用 void 关键字声明无返回值;

  6. Kotlin 声明函数参数列表采用“变量名: 变量类型”的方式,Java 则采用 “变量类型 变量名”的形式;

  7. Kotlin 抛弃了类 C 语言声明数组的方式,使用 “Array<T>” 的方式声明数组,Java 则采用类 C 语言的“T[]”方式声明数组;

  8. Kotlin 语句结尾一般不使用分号 ; 结尾,Java 则必须用分号结尾。

第二行:

println("Hello World")

对比 Java:

System.out.println("Hello World");

好像 Kotlin 只是把 Java 的 “System.out”给省略了?我们看一下 Console.kt 文件中对 println() 函数的声明:

@kotlin.internal.InlineOnlypublic inline fun println(message: Any?) {
   System.out.println(message)}

好吧,Kotlin 的 println() 函数就是对 Java 中 System.out.println() 方法的包装……

让我们运行程序,你的控制台是不是输出了 Hello World 呢?

作者:CNife
链接:https://zhuanlan.zhihu.com/p/26443813

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章