我可以将包的所有内容导入到我的代码中,而不需要在函数或变量名称前添加前缀吗与包名?
是的,你可以使用特殊的导入语法来实现这一点。
根据 Go 编程语言规范:
如果出现显式句点 (.) 而不是名称,则在该包的包块中声明的所有包的导出标识符都将在导入源文件的文件块中声明,并且必须在没有限定符的情况下进行访问。
在换句话说,通过导入以点 (.) 作为包名称的包,您可以指示编译器从该包导入所有导出的符号(函数、变量等),并使它们在您的代码中可用,而无需包名称
考虑以下示例代码:
<code class="go">import "fmt" func main() { fmt.Println("Hello, world") }</code>
从 fmt 包中导入所有函数和变量,而不使用 fmt.prefix。前缀,您可以使用以下代码:
<code class="go">import . "fmt" func main() { Println("Hello, world") }</code>
此更新的代码将产生与原始代码片段相同的输出。
您可以在 Go Playground 中验证此行为:https: //play.golang.org/p/xl7DIxxMlU5
以上是可以全局导入整个Go包直接访问吗?的详细内容。更多信息请关注PHP中文网其他相关文章!