scala - 在Scala中的函数中导入包时将导入多少次
问题描述
我在Scala中的函数代码片段如下:
def sqrtplus1(x: Int) = {
import scala.math.sqrt
sqrt(x) + 1.0
}
我正在对上述函数进行以下 3 次调用:
sqrtplus1(5) // outputs 26
sqrtplus1(6) // outputs 37
sqrtplus1(7) // outputs 50
虽然上述工作正常,
但是,我想知道,调用函数scala.math.sqrt
时,包会被导入多少次?谢谢!sqrtplus1
3
解决方案
这个答案来自 scala/center (社区)的@Rob Norris @tpolecat:
导入所做的只是让您引用不带前缀的符号。就它“发生”的程度而言,它完全是在编译时。导入语句没有运行时表示。
(例如,与 Python 不同的是,其中 importing 是一个可以导致事情发生的语句。)
推荐阅读
- sql - 我怎么写这样的结果
- google-apps-script - Gmail 插件自动完成功能不允许列表中的项目超过 30 个
- javascript - 使用 Bootstrap 和 ng-bootstrap 好吗?
- javascript - 制作问题应用程序并需要帮助呈现问题
- rx-java2 - 在android中使用rxjava2时使用重试重新连接
- tsql - 查找多行的完全匹配
- jquery - Jquery 日期时间选择器正在打开 ajax 弹出扩展器
- c# - (浏览器/会话)关闭时调用 ASP.NET 中的方法?
- aws-glue - 防止 AWS 胶水爬虫创建多个表
- machine-learning - 在训练/验证/测试中使用标准化或标准化的参数