这可能是一个愚蠢的问题,但我对Kotlin来说是全新的。
在Java中,典型的print语句是:
System.out.println("Goodbye cruel world!");
然而,在Kotlin,我们可以写:
println("Kotlin is weird but good")
Kotlin如何解决范围澄清问题?它不像println
是Kotlin中的语言构造(或者是它?)。我错过了一些明显的东西吗?在这里发生了某种隐含的重要声明吗?
请注意println
只是一个例子; Kotlin还有许多其他类似的例子。
答案 0 :(得分:4)
默认情况下,每个Kotlin文件都会导入许多软件包。有关这些软件包的列表,请参阅参考手册中的Default Imports。
其中一个是kotlin.io.*
,其中包含println
功能。请注意*
导入所有可访问的内容。 <{1}},顶级元素的默认visibility modifier包含在该导入中。
您可以通过使用Kotlin REPL并输入:
来证实这一点public
或将其放入>>> kotlin.io.println("Hello")
文件并使用.kts
执行。
默认导入列表中的其他函数,类等也可以以类似的方式使用。
答案 1 :(得分:3)
Kotlin支持top level functions,而println
只是声明为一个,您可以看到其来源here。
如果他们导入的包被导入,并且基本的Kotlin包是imported by default,则可以在没有任何限定符的情况下使用它们。