以下关于 Go 包的断言是否准确?

以下关于 Go 包的断言是否准确?

  1. import "package_name" 从名为 package_name 的目录导入所有文件,假设在 $GOPATH 中找到,这是一个保存用户 go 目录的变量,或者在标准 go 安装目录树中。

  2. package_name 目录中的文件通常会声明package package_name. 但他们不需要这样做。事实上,如果在导入的 package_name 目录中找到该文件,import "package_name", 也会导入包含该行package foo的文件。

  3. 所有大写的函数都将通过包 package_name 声明中给出的名称访问 - 例如:

package_name.Function_in_file_that_declares_package_name 或者 other_than_package_name.Function_in_file_that_declares_other_than_package_name

  1. 用户定义的包是go install从包目录中的命令行-ed。但是,go 将拒绝安装与其内置包目录名称相同的目录。例如,你不能安装一个字符串目录,因为 go 已经有一个用于内置包“strings”的字符串目录。但是,用户可以通过创建 my_strings 目录并在其中放置一个文件来将函数附加到 strings 包中,而无需更改内置的 strings 文件夹package strings。现在,import my_strings将加载使用strings.Function_name.

总之,import关键字用于从给定目录加载文件。并且关键字package创建一个命名空间以从该文件外部访问大写函数。

我是否正确理解了以上所有内容?


BIG阳
浏览 176回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go