登录
首页 >  Golang >  Go问答

golang:有效管理本地文件系统中的包

来源:stackoverflow

时间:2024-02-08 21:18:21 283浏览 收藏

Golang小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《golang:有效管理本地文件系统中的包》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!


问题内容

我确信这个问题已经被问过很多很多次了:»如何在没有 github 的情况下在本地创建和管理我的 go-packages?

我需要将几个用 Perl 编写的工具转换为 golang,并且我正在与 golang 的包管理作斗争,简单的例子:

我编写了 main-package,其中包含 main 函数和一些其他函数。 现在我想将一组函数移动到另一个包中:

  • 在同一目录中创建了另一个包并移动了组 那里有功能
  • 构建包并创建二进制文件
  • 尝试将此包导入到主包中,但结果很糟糕 失败的。 “PackageName”、“./PackageName”“[完整路径]/PackageName”全部 失败

对于初学者:如何从本地文件系统导入包?


正确答案


在要存储所有代码的目录中运行 go mod init

示例:go mod init auth-api

这将在您的根文件夹中创建一个 go.mod 文件。

您可以为每个包创建一个单独的文件夹。

您的目录结构如下所示。

package_1
-- file_1_1.go
-- file_1_2.go
package_2
-- file_2_1.go
-- file_2_2.go
-- file_2_3.go

main.go
go.mod

此处 package_1 包含 file_1_1.gofile_1_2.go。使用 package package_1 启动这些文件

例如:

// file_1_1.go

package package_1
import "fmt"

func sayhellofrompackage_1(){
   fmt.println("hello from package 1")
}

现在您可以在 main.go 中使用该函数:

// main.go
import "auth-api/package_1" // auth-api is our module name (go mod init auth-api)

func main() {
    package_1.SayHelloFromPackage_1()
}

理论要掌握,实操不能落!以上关于《golang:有效管理本地文件系统中的包》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>