为什么Kotlin打印声明不需要范围说明?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么Kotlin打印声明不需要范围说明?相关的知识,希望对你有一定的参考价值。
这可能是一个愚蠢的问题,但我对Kotlin来说是全新的。
在Java中,典型的print语句是:
System.out.println("Goodbye cruel world!");
但是,在Kotlin,我们可以写:
println("Kotlin is weird but good")
Kotlin如何解决范围澄清问题?它不像println
是Kotlin的语言结构(或者是它?)。我错过了一些明显的东西吗?在这里发生了某种隐含的重要声明吗?
请注意,println
只是一个例子; Kotlin还有许多其他类似的例子。
答案
Kotlin支持top level functions,println
简单地宣布为一个,你可以看到它的来源here。
如果它们所在的包是导入的,那么这些可以在没有任何限定符的情况下使用,并且基本的Kotlin包是imported by default。
另一答案
默认情况下,每个Kotlin文件中都会导入许多包。有关这些包的列表,请参阅参考手册中的Default Imports。
其中之一是kotlin.io.*
,其中包含println
功能。请注意,*
会导入所有可访问的内容。 public
是顶级元素的默认visibility modifier,包含在该导入中。
您可以通过使用Kotlin REPL并输入以下内容来证实这一点:
>>> kotlin.io.println("Hello")
或者将它放在.kts
文件中并使用kotlinc -script filename
执行它。
也可以以类似的方式使用默认导入列表中的其他函数,类等。
以上是关于为什么Kotlin打印声明不需要范围说明?的主要内容,如果未能解决你的问题,请参考以下文章