Golang 如何创建自己的包

Golang 如何创建自己的包

Go语言是一种由Google公司开发的高级编程语言。高级语言是为了人类理解而创建的程序语言。在我们深入研究诸如包、模块、函数等高级术语之前,让我们首先编写Golang中最基本的程序。在编程世界中,最基本的程序是 Hello world

package main
   
import "fmt"
   
// 主函数
func main() {
   
    fmt.Printf("Hello World!")
} 

由于该IDLE不支持Go语言运行,因此我在下面附上了输出的屏幕截图。

Golang 如何创建自己的包

这是第一个在控制台打印出Hello world的程序。如果您在Windows平台上使用Visual Studio,则输出屏幕如图所示。

我们已经看过这个程序无数次,但我们真正理解其中的内容吗?还是我们只是扫描代码中编写的关键字并将其复制粘贴,然后在我们的程序中进一步实现?我们都知道答案!但是现在让我们尝试理解代码。

package main

该语句使该包作为可执行程序代码可用。包可以简单地解释为将多个代码片段绑定在一起的胶囊,这些代码片段可能包含多个库、多个功能,全部包含在一个胶囊中,用户可以通过导入或提及包来轻松地在任何程序中使用该包。

import "fmt"

这里的fmt是Go语言提供的内置包。所有基本的打印操作、扫描操作等都属于此包。

func main()

这是一个简单的声明,它保存可执行驱动程序代码的主函数。

fmt.Printf("Hello world!")

在这一行中,它可能看起来很简单,但其中有一个简单的点(“.”)在fmt和Printf之间的逻辑。点 (‘.’) 是执行重要搜索的中介器。在此点之前的术语是包名,在此点之后的名称是属于之前所提到的包的函数集。 Printf是fmt包中的一个函数,它提供“将输入字符串(在这种情况下)一行打印在控制台上”的功能。

如前所述,fmt是其他人开发的预构建的包。我们在这些预构建代码中发现了很多东西,但为什么我们不能尝试构建自己的包呢?构建自己的包可以增强我们的工作组织的可读性、可重用性和效率,因为它将针对我们的工作而不是针对世界其他地方!让我们看一个 如何构建一个简单的新包 的演示。

在继续之前,您需要确保执行以下步骤,这些步骤对于确保流畅的工作流程至关重要:

  1. 检查环境变量中的GoPath,并将其设置为包含所有Go文件的目录。
  2. 创建一个名为您想要创建的包名称的新文件夹。
  3. 在第2步中创建的文件夹中,创建保存您要创建的Go包代码的go文件。
  4. 建议您将文件名与包名相同,这并非强制要求,但只是确保导入不那么混乱。
  5. 请查看下面的详细演示,以了解工作原理的基本思想!🙂
package calculator
// 我正在创建一个简单的计算器,
// 根据用户的选择执行一个计算器操作。
// 为了使代码易读,
// 我将包命名为“calculator”。
// 记住,第一行代码
// 必须始终是上面提到的形式:
// 关键字“package”后面跟随你要为你的包命名的名称
// *表示非常非常重要

import "fmt"
// 导入 fmt 包进行基本打印和扫描操作

func Calc() {
  // 一个简单的 Calc 函数,包含所有代码,
  // 且没有指定返回类型
  // Println 在新行中打印输入字符串
  fmt.Println("欢迎使用计算器")
  fmt.Println("********************主菜单*************************")
  fmt.Println("1. 加")
  fmt.Println("2. 减")
  fmt.Println("3. 乘")
  fmt.Println("4. 除")
  fmt.Println("******************************************************")
  var choice int
  
  // choice 将存储用户根据上面显示的菜单输入的值
  fmt.Scan(&choice)
  var a, b int
  
  // 在选择了操作后,用户将被要求输入 2 个 int
  // 值,以便对它们执行所选的操作
  fmt.Println("请输入 a 的值:")
  fmt.Scan(&a)
  fmt.Println("请输入 b 的值:")
  fmt.Scan(&b)
  if( choice == 1 ){
    // 选择 1 激活此部分 --> 加法
    ans := a + b
    fmt.Println("答案 = ", ans)
  } else if( choice == 2 ){
    // 选择 2 激活此部分 --> 减法
    ans := a - b
    fmt.Println("答案 = ", ans)
  } else if( choice == 3 ){
    // 选择 3 激活此部分 --> 乘法
    ans := a * b
    fmt.Println("答案 = ", ans)
  } else {
    // 选择 4 激活此部分 --> 除法
    // 记住不要将第二个值输入为 0,
    // 否则会引发除以零错误
    // 或显示无穷大
    ans := a / b
    fmt.Println("答案 = ", ans)
  }
  fmt.Println("******************************************************")
  fmt.Println("感谢使用计算器!祝您有愉快的一天。^-^")
  fmt.Println("******************************************************")
} 

好的,包代码与普通文件代码不同。因此,我们的处理过程并未结束。 将您的代码写在包文件中是第一步。在编写代码后,将文件保存为您在第一行代码中提到的包的名称。例如,在我的情况下:

calculator.go

在为文件命名之后,您需要执行一些重要的步骤。由于这是您正在创建的包,因此您需要 go 编译器来构建和编译您的代码。为此, 进入您包含包文件代码的文件夹。在该目录中打开命令提示符。在 cmd 中运行以下命令

go install

这个命令将编译您的 Go 包并使其准备好供使用。现在创建主文件以使用您的第一个包。在这里,我们共享来自我们主文件的代码:

package main
import "myprograms/go-packages/calculator"
// 这是我的本地目录,
// 包文件位于其中

func main() {
    calculator.Calc()
    // 我的包名字加上点再加上
    // 我希望在该包中执行的函数名
    // 这样就可以执行该包的函数了
} 

保存您的代码并在主文件所在的目录中通过 cmd 执行以下命令

———–>“ _go build file_name.go _ ”

例如:

go build main.go

现在您的主文件已经成功编译。要执行它,请在cmd中输入以下命令:

“file_name”

例如: main

您会注意到,calc函数的执行方式与代码完全一致。下面是我的包运行演示供您参考。

Golang 如何创建自己的包

这是计算器包的代码文件,在终端部分是需要执行的命令,并且输出也显示在上面提到的截屏中。此外,请注意我打开终端的目录以及执行了哪些命令。

Golang 如何创建自己的包

这是导入并执行包的主代码文件。注意,一旦创建了包,主文件代码变得非常简单。现在,包可以在任何代码中重复使用一百万次。如果将其提供在云上,则 Web 上的任何人都可以使用它。请注意终端上的命令和目录,因为它们非常重要。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程