jjzjj

go - 在 golang 中包装一个包

想象一个导出一些结构和一些函数的包。如果我想围绕该包制作一个包装器,以便它可以用作插件,我是否应该重新创建包含嵌入其中的旧结构的结构?示例:packagefootypeFoostruct{Fieldstring}funcDoSomething(){}packagebarimportfootypeFoostruct{foo.Foo}funcDoSomething(){foo.DoSomething()}有没有更好的方法?这是惯用的方式吗? 最佳答案 我认为不是。使用原始包即可,如果要使用自己的版本,可以使用别名。假设当前您的代码是:i

rest - golang gin-gonic 和包中的拆分文件

我很新,想尝试学习,我正在设置一个带有gin-gonic服务器的应用程序。我设法让它与主包中的所有内容一起工作,我想更好地组织它与包中所有最相关的(我管理的)并按文件拆分每个组CRUD。所以在init函数中包的“主”文件中,我定义了:Router:=gin.New()Router.Use(gin.Logger())Router.Use(gin.Recovery())虽然我可以在包的其他文件中像那样使用它:v1:=Router.Group("/api/v1/todos")v1.Use(AuthRequired()){v1.POST("/",CreateTodo)v1.GET("/",Fe

dockerfile install go local packages 可以吗?

我正在尝试使用我的golang项目创建一个docker镜像。该项目有一些本地包,例如math:/myproject/src/main.goutils/math.go在main.go中,我包含了很多包,还有来自math.go的math。我的docker文件看起来像这样:FROMgolang:latestENVGOPATH=/golib/RUN/usr/local/go/bin/gogetgithub.com/julienschmidt/httprouterCMD/usr/local/go/bin/gorunmain.goEXPOSE10004因为它是一个本地包,所以我如何包含math包,

go - 在 Goland 的模块中找不到任何用法

我正在使用子包中的结构并且它可以工作。但是在查找这个结构的用法时,IDEA没有看到用法。重命名结构的情况相同-IDEA重命名原始结构并且不会在所有使用的地方重命名。我该如何修复它,因为我不想将所有go文件只放在一个包中。 最佳答案 像这样进入项目目录。projectname:bin/src/structs/custom_types.gomain.gopkg/使用gobuild命令会自动创建bin/pkg目录。src目录包含所有go源文件。 关于go-在Goland的模块中找不到任何用法,

go - 从单独的包/文件夹导入代码

这个问题在这里已经有了答案:Importedstructfromotherpackageisundefined(1个回答)关闭4年前。我有这个目录布局:/bababiz.go#packagebaba/hellofoo.go#packagemainbiz.go看起来像这样:packagebabafuncFoodd(zint)int{returnz+5}foo.go看起来像这样:packagemainimport("fmt""log")funcmain(){log.Fatal(Foodd(3))}目前无法编译,因为无法识别Foodd。如何在foo.go中导入baba包?我假设如果我这样编译

go - 如何从 Go 模块导入特定的包?

Golang1.11beta2引入了对Modules的实验性支持.我无法从go模块导入特定包。这是构建应用程序时的错误:$goinstallgo:downloadinggithub.com/udhos/modhello/modlib/libv1.0.0go:findinggithub.com/udhos/modhellolatestgo:import"github.com/udhos/modhello/modapp"->import"github.com/udhos/modhello/modlib/lib":cannotfindmoduleprovidingpackagegithub.

go - goimports 未检测到本地包

我的golang项目有一些包在不同的文件夹中,这个项目越来越大了。我一直在尝试创建单独的包,但没有被goimports检测到GOPATH="/home/malek/go:/home/malek/Desktop/Workspace"GORACE=""GOROOT="/usr/local/go"我的目录是这样的,Workspace->src->application->utility->math.go在我的math.go文件夹中,我有packageutility但是当我尝试执行import"application/utility"或当我尝试在我的main.go文件(在应用程序文件夹中)中包

go - 如何使用 logpacker package paypal 进行信用卡支付?

我在golang应用程序中使用logpacker包使用paypal进行信用卡交易,但它返回给我POSThttps://api.sandbox.paypal.com/v1/payments/payment:500错误我的main.go文件有这段代码::packagemainimport(paypalsdk"github.com/logpacker/PayPal-Go-SDK""fmt")varClientID="my-client-id"varSecretID="my-secret-key"funcmain(){//Initializeclientc,err:=paypalsdk.New

Golang 导入周期挑战

我在我的go代码中遇到循环依赖(不允许导入循环)的问题,并且不确定解决它的最佳方法。我认为我对golang接口(interface)缺乏了解可能会影响我看清前进方向的能力。我的问题-我有两个包裹:Event-Event主要是“父项”,会多次调用锻炼包Workout-在一种情况下,我需要调用事件包,这会产生循环依赖,因为Event已经消耗了Workout允许Workout在事件域中调用函数(而不是对象上的方法)的最佳方法是什么?下面是我的简化代码,以帮助提供一些上下文//workoutpackage//Thisisaprivatefunctionontheworkoutpackageth

Go Modules - 目录和包的命名约定

我明白了GoModules仍然是一个实验性的选择加入功能,也许正因为如此,我找不到关于如何命名目录和package的明确指导。在这些PackagenamesinGoBlog发布和PackagenameinEffectiveGo,他们说目录应该与包名称相匹配——但我不确定GoModules是否会遵循相同的模式。如果我想在packagebusiness中将我的业务逻辑与许多文件捆绑在一起,创建子目录validators/并保持相同的包名称package是否合理业务?someDir├──business│  ├──businessA.go//packagebusiness│  ├──busi