当前位置: 首页 > 面试题库 >

什么是“。” (点或句点)在Go import语句中做什么?

姚晋
2023-03-14
问题内容

在Go教程以及我看过的大多数Go代码中,软件包的导入方式如下:

import (
    "fmt"
    "os"
    "launchpad.net/lpad"
    ...
)

但是在http://bazaar.launchpad.net/~niemeyer/lpad/trunk/view/head:/session_test.go中,gocheck包中的导入(带有.):

import (
    "http"
    . "launchpad.net/gocheck"
    "launchpad.net/lpad"
    "os"    
)

.(期间)的意义是什么?


问题答案:

它允许在没有限定符的情况下在本地文件块中引用导入包中的标识符。

如果出现一个明确的句点(。)而不是名称,则所有软件包导出的标识符都将在当前文件的文件块中声明,并且可以在不使用限定符的情况下进行访问。

假设我们已经编译了一个包含package子句package math的软件包,该软件包导出函数Sin,并将编译后的软件包安装在“ lib /
math”标识的文件中。下表说明了在各种类型的导入声明之后,如何在导入包的文件中访问Sin。

Import declaration          Local name of Sin

import   "lib/math"         math.Sin
import M "lib/math"         M.Sin
import . "lib/math"         Sin

参考:http :
//golang.org/doc/go_spec.html#Import_declarations



 类似资料:
  • 我猜它是指一个目录层次结构,如果是这样,它究竟是如何工作的?

  • 问题内容: 什么是 全球声明 ?以及如何使用?我已经阅读了Python的官方定义; 但是,这对我来说没有多大意义。 问题答案: python中的每个“变量”都限于特定范围。python“文件”的范围是模块范围。考虑以下: 具有局部作用域的对象会在函数退出后立即死亡,并且永远无法检索(除非您拥有它们),但是在函数内,您可以访问模块级作用域(或任何包含的作用域)中的变量: 但是,您不能在该引用上使用赋

  • 我能用一个lambda表达式来完成这一切吗?

  • 另外,是什么意思?我一直尝试使用 但是将无法工作,除非放入。

  • 在这个React(使用JSX)代码中做什么,它叫什么?

  • 问题内容: 我试图更好地理解以下python代码以及作者为什么在返回中使用“ AND”语句。 进一步的代码… 我尝试检查返回给调用方的结果对象,但是我仍然不完全了解它是如何工作的。 似乎这将密码返回给调用者,并返回一个布尔值,表明密码是否有效,但是我不明白调用函数如何检查对象的布尔值?这是我错过的关于Python的基本知识吗? 在该示例旁边还有另一个类似用法的示例,但是它使用“或”语句,对我而言,