学一门编程语言的开始往往是一个最简单的 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 函数的方式不同之处:
Kotlin 使用 fun 关键字显式地声明函数,Java 则通过方法名后的括号表明这是个方法;
Kotlin 允许创建 包级函数,函数不一定在类里面,Java 则要求所有方法必须包括在类里;
Kotlin 中所有变量、函数和类默认都是 public 的,Java 则需要用 public 关键字声明处处可用;
Kotlin 抛弃了静态变量和静态方法,没有 static 关键字,Java 则用 static 关键字声明静态成员;
Kotlin 中声明一个函数没有返回值使用 Unit 关键字,但是一般省略,Java 则用 void 关键字声明无返回值;
Kotlin 声明函数参数列表采用“变量名: 变量类型”的方式,Java 则采用 “变量类型 变量名”的形式;
Kotlin 抛弃了类 C 语言声明数组的方式,使用 “Array<T>” 的方式声明数组,Java 则采用类 C 语言的“T[]”方式声明数组;
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