回答

收藏

'.' 是什么意思 ,在 Go 导入语句中做什么?

技术问答 技术问答 245 人阅读 | 0 人回复 | 2023-09-12

在 Go 教程和我看过的大部分 Go 代码中,包是这样导入的:
+ p7 ]' u- P4 i5 F. \5 k! ?
    import  "fmt"    "os"    "launchpad.net/lpad"    ...)' [" L1 @4 Y3 @; k7 |3 R% s
但是在gocheck 包是用.(句点)导入:# u2 h. V5 V9 c% \) p6 u1 d% {9 y
    5 C% y. Y. o/ A/ u
  • import  "http"    . "launchpad.net/gocheck"    "launchpad.net/lpad"    "os"    code].(句号)有什么意义?7 V: M4 z$ U& Z; Q8 J. q
  •                                                                
    ; B, n3 g( s" O
  •     解决方案:                                                               + i3 a& Y" }1 D! R
  •                                                                 导入包中的标识符允许在本地文件块中引用,无限定符。1 B: p1 S* Z( S, ^% O) X5 e- Q9 i3 h
  • 若出现显式句点 (.) 如果不是名称,所有包的导出标识符将在当前文件的文件块中声明,无需限制符即可访问。8 i1 C+ b1 H( O8 n! ~
  • 假设我们编译了一个包括 package 子句 package math 包,它出函数 Sin,并将编译包安装在lib/math标识文件中。本表显示了如何在导入包的各种类型的导入声明后访问 Sin。[code]Import declaration          Local name of Sinimport   "lib/math"         math.Sinimport M "lib/math"         M.Sinimport . "lib/math"         Sin0 O5 o) x4 n' {" v8 s. |5 z
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则