教程:go package 简介 | go优质外文翻译 | go 技术论坛-江南app体育官方入口
包是代码的分组单元,可以帮助您组织程序。它允许您在单个单元中「打包」一个或多个源代码文件,并使其可重用。
如果您来自其他语言,它们就像是命名空间或程序包。 所不同的是,没有子包,包又小又多。
例如:假设您有一个执行天气统计计算的代码,并且正在被您程序中的多处代码使用,您可以将此计算代码放在一个单独的包中,也许会被命名为:statistics。
go 中编写的任何代码都属于一个包
go 程序由一个或多个包组成。
单一概念
您应该将唯一的相关代码放入包中,并对其进行 的命名,这很重要。
例如: 仅提供了一个概念: 压缩。或者, 也是仅提供一个概念: http 的客户端/服务器交互。 再或者,:处理输入/输出的格式。
包含零个或多个函数和状态
一个包可以仅包含一个函数,例如计算某些国家的税率。 go程序包不需要像其他某些语言那样大。
可重用
其他包只能使用包暴露出的函数和数据。此外,无论是否对外暴露,包都可以使用其自身的函数。
仅导入一次
你可以在多个包中导入相同的包,实际上它只会被导入一次。
如果没有包会怎样?
没有包,几乎就没有代码的可重用性和组织。
看看 。 如果没有包,你将如何使用 go 庞大的标准库?各种功能将分散在各处,无法使用。
「example」包。这只是您计算机中的一个目录。包就驻留在目录中。
example package 目录中的所有源文件都具有相同的名称:example。
物理上,包只是一个目录。目录名称和包名称应相同。
在包目录中,所有源文件都只属于一个包。在上面的示例中, package
关键字声明 example.go
属于 example 包。 源代码文件应始终具有 `包` 声明。
***import***
关键字允许您使用其他包,如示例所示
该文件属于 main 包。 。我通过输入以下命令在命令行中运行它:go run main.go
。
属于 main 包。
main.go 的输出。
为您准备的练习
t要真正学习一些东西,您需要自己尝试。
- 示例代码并通过输入
import time
来导入时间包。 - 在
fmt.println("i am main.")
行之后的新行中键入fmt.println(time.now())
来显示当前时间并运行代码。 - 该练习的代码在 . 可以与您的对比一下。 现在,删除所有的行也不要看示例代码,仅凭记忆输入这个程序。
为您准备的另一个练习
- 这里的代码,将
package main
更改为package notmain
,通过点击上面的 run button 运行它。 - 然后,查看底部的错误消息。这是因为 每个可运行程序都应至少具有一个 main 包。
- 尝试更改其他内容,例如删除
import fmt
以查看会发生什么
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 cc 协议,如果我们的工作有侵犯到您的权益,请及时联系江南app体育官方入口。
原文地址: