以下关于 Go 包的断言是否准确?import "package_name" 从名为 package_name 的目录导入所有文件,假设在 $GOPATH 中找到,这是一个保存用户 go 目录的变量,或者在标准 go 安装目录树中。package_name 目录中的文件通常会声明package package_name. 但他们不需要这样做。事实上,如果在导入的 package_name 目录中找到该文件,import "package_name", 也会导入包含该行package foo的文件。所有大写的函数都将通过包 package_name 声明中给出的名称访问 - 例如:package_name.Function_in_file_that_declares_package_name 或者 other_than_package_name.Function_in_file_that_declares_other_than_package_name用户定义的包是go install从包目录中的命令行-ed。但是,go 将拒绝安装与其内置包目录名称相同的目录。例如,你不能安装一个字符串目录,因为 go 已经有一个用于内置包“strings”的字符串目录。但是,用户可以通过创建 my_strings 目录并在其中放置一个文件来将函数附加到 strings 包中,而无需更改内置的 strings 文件夹package strings。现在,import my_strings将加载使用strings.Function_name.总之,import关键字用于从给定目录加载文件。并且关键字package创建一个命名空间以从该文件外部访问大写函数。我是否正确理解了以上所有内容?
2 回答
- 2 回答
- 0 关注
- 175 浏览
添加回答
举报
0/150
提交
取消