#青训营 x 字节后端训练营#
6月5日打卡 day 46
今日学习《The Way to Go》之包的概念、导入与可见性。
- 鉴于字节跳动训练营中关于 `Go` 语言方面的介绍过于简洁凝练,所以额外阅读了 [《The Way to Go》即《Go 入门指南》](github.com) ,并做以下笔记,来帮助自己对 `Go` 有一个更清晰的认识。
- 包是结构化代码的一种方式:每个程序都由包(通常简称为 pkg)的概念组成,可以使用自身的包或者从其它包中导入内容。如同其它一些编程语言中的类库或命名空间的概念,每个 Go 文件都属于且仅属于一个包。**一个包可以由许多以 `.go` 为扩展名的源文件组成**,因此文件名和包名一般来说都是不相同的。
- **一个 Go 程序是通过 `import` 关键字将一组包链接在一起。**`import "fmt"` 告诉 Go 编译器这个程序需要使用 `fmt` 包(的函数,或其他元素),`fmt` 包实现了格式化 IO(输入/输出)的函数。包名被封闭在半角双引号 `""` 中。如果你打算从已编译的包中导入并加载公开声明的方法,不需要插入已编译包的源代码。
- 包通过下面这个被编译器强制执行的规则来决定是否将自身的代码对象暴露给外部文件:**可见性规则**:当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个**大写字母开头**,如:Group1,那么**使用这种形式的标识符的对象就可以被外部包的代码所使用**(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以**小写字母开头**,则**对包外是不可见的**,但是它们在整个包的内部是可见并且可用的(像面向对象语言中的 private )。
展开
评论