教程:Go Package 简介

Go

Go 软件包是什么?

包是代码的分组单元,可以帮助您组织程序。它允许您在单个单元中「打包」一个或多个源代码文件,并使其可重用。

Go

如果您来自其他语言,它们就像是命名空间或程序包。 所不同的是,没有子包,包又小又多。

例如:假设您有一个执行天气统计计算的代码,并且正在被您程序中的多处代码使用,您可以将此计算代码放在一个单独的包中,也许会被命名为:Statistics。

Go 中编写的任何代码都属于一个包

Go 程序由一个或多个包组成。

单一概念

您应该将唯一的相关代码放入包中,并对其进行 适当 的命名,这很重要。

例如: Go's zip package 仅提供了一个概念: 压缩。或者,http package 也是仅提供一个概念: HTTP 的客户端/服务器交互。 再或者,fmt package:处理输入/输出的格式。

包含零个或多个函数和状态

一个包可以仅包含一个函数,例如计算某些国家的税率Go程序包不需要像其他某些语言那样大

可重用

其他包只能使用包暴露出的函数和数据。此外,无论是否对外暴露,包都可以使用其自身的函数。

仅导入一次

你可以在多个包中导入相同的包,实际上它只会被导入一次。

如果没有包会怎样?

没有包,几乎就没有代码的可重用性和组织。

看看 Go’s standard library。 如果没有包,你将如何使用 Go 庞大的标准库?各种功能将分散在各处,无法使用。

Go package 是什么样子的?

Go

「example」包。这只是您计算机中的一个目录。包就驻留在目录中。

Go

example package 目录中的所有源文件都具有相同的名称:example。

物理上包只是一个目录。目录名称和包名称应相同。

在包目录中,所有源文件都只属于一个包。在上面的示例中, package 关键字声明 example.go 属于 example 包。 源代码文件应始终具有 `` 声明

导入包

***import*** 关键字允许您使用其他包,如示例所示


让我们尝试一些基本的东西

该文件属于 main 包。 您可以在此处运行此代码。我通过输入以下命令在命令行中运行它:go run main.go

Go

属于 main 包。

Go

main.go 的输出。

为您准备的练习

T要真正学习一些东西,您需要自己尝试。

  • 打开 示例代码并通过输入 import time 来导入时间包。
  • fmt.Println("i am main.") 行之后的新行中键入 fmt.Println(time.Now()) 来显示当前时间并运行代码。
  • 该练习的代码在 这里可以与您的对比一下。 现在,删除所有的行也不要看示例代码,仅凭记忆输入这个程序。

为您准备的另一个练习

  • 打开 这里的代码,将 package main 更改为 package notmain,通过点击上面的 Run button 运行它。
  • 然后,查看底部的错误消息。这是因为 每个可运行程序都应至少具有一个 main 包。
  • 尝试更改其他内容,例如删除 import fmt 以查看会发生什么
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://blog.learngoprogramming.com/defi...

译文地址:https://learnku.com/go/t/47145

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!