java - 为什么 Kotlin print 语句不需要范围澄清?

标签 java scope kotlin

这可能是一个愚蠢的问题,但我是 Kotlin 的新手。

在Java中,典型的打印语句是:

System.out.println("Goodbye cruel world!");

但是,在 Kotlin 中,我们可以这样写:

println("Kotlin is weird but good")

Kotlin 如何绕过此处的范围澄清?它不像 println 是 Kotlin 中的语言构造(或者是吗?)。我在这里遗漏了一些明显的东西吗?这里是否发生了某种隐式导入语句?

请注意,println 只是这里的一个示例; Kotlin 中还有许多其他类似的实例。

最佳答案

每个 Kotlin 文件中都会默认导入许多包。请参阅Default Imports在引用手册中查看这些软件包的列表。

其中之一是 kotlin.io.*其中包含 println功能。请注意,* 导入所有可访问的内容。 public,默认visibility modifier对于顶级元素,包含在该导入中。

您可以通过使用 Kotlin REPL 并输入以下内容来证实这一点:

>>> kotlin.io.println("Hello")

或将其放入 .kts 文件中并使用 kotlinc -script filename 执行。

默认导入列表中的其他函数、类等也可以以类似的方式使用。

关于java - 为什么 Kotlin print 语句不需要范围澄清?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48044302/

相关文章:

java - 如何打印ArrayList中的元素内容?

asynchronous - 在Kotlin异步协程中捕获异常并停止传播

android - 总是创建延迟初始化的对象

java - 当我在 Java 中输入 IP 时无法连接到我的服务器

java - 展平集合中的集合以获得单个 List<>

java - Android 自定义主题 xml 文档?

scope - 从 jQuery 函数外部访问变量

javascript - Node js 在 module.exports 中使用函数调用中的 "this"

sql - 如何将表别名传递给 SQL 中的子子查询?

kotlin - 如何使用Kotlin中的代码从OnCreate更改文本大小