kotlin学习-入口方法 main

在python,js里不需要入口, 在c这种传统的语言里也有main

在默认的kotlin程序,即以 .kt 结尾的文件里,必须有一个main方法,否则无法运行

在以.kts 结尾的文件里,不需要main方法, .kts 结尾就是kt脚本,类似python脚本,可以直接运行

无参数main方法

下方是一个简单的main方法 , 不接收任何参数,也没有返回值( 实际上有个Unit类型,类似 c里面的 void, python里的 None)

// 这2个main方法等价
 
// 省略了返回值类型, 默认是Unit
fun main() {
    println("hello world")
}
 
// 没有省略返回值类型,而是多此一举的写出来了,其实完全可以省略
fun main():Unit {
    println("hello world")
}

有参数的main方法

main方法是个特殊的方法,它的参数类型也是特殊的、固定的,它的参数类型 Array<String> 是个字符串数组(一个数组,里面的元素是字符串),看不懂没关系,后面会学到

这个参数的名字是args,可以随便写什么,比如写params,或者 a1 ,但是大家习惯写成args

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

有返回值的main方法

main方法的返回值类型是Unit,类似c里面的void,python里的None,但是可以省略,省略后默认是Unit

// 写法正确,但多此一举,如果不写返回值类型,默认就是Unit,那就可以留空
fun main(args: Array<String>):Unit {
    println("hello world")
}
 
// 返回值是 Int
 fun main(args: Array<String>):Int {
    println("hello world")
    return 123 // 返回一个int
}

注意