首页 > 解决方案 > 在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时,包会被导入多少次?谢谢!sqrtplus13

标签: scalaimport

解决方案


这个答案来自 scala/center (社区)的@Rob Norris @tpolecat:

导入所做的只是让您引用不带前缀的符号。就它“发生”的程度而言,它完全是在编译时。导入语句没有运行时表示

(例如,与 Python 不同的是,其中 importing 是一个可以导致事情发生的语句。)


推荐阅读