草庐IT

go - 如何导入本地包到主包

我尝试重构main.go,将代码分到不同的文件中。所以我将controller.go作为包Controller。但是我无法将这个本地包导入main.go。article├client├api│├main.go│└contoroller│└contoroller.go├nginx└docker-compose.yml・client:react/axios・api:golang/gin・web-server:nginx・db:mysql・container:docker・ci-tool:travis・deploy:awselasticbeanstalk主.gopackagemainimpo

go - 路由方法在主包文件中未定义

我的代码如下所示:应用程序去packagemainimport("github.com/go-martini/martini")funcmain(){app:=martini.Classic()app.Group("/books",func(rmartini.Router){r.Get("/:id",getBooks)r.Post("/new",newBook)r.Put("/update/:id",updateBook)r.Delete("/delete/:id",deleteBook)})app.RunOnAddr(":8080")}主.gopackagemainimport"gi

go - 导入更新在主包中无法识别

我正在处理一个项目,并且有几个我创建的包,我正在将它们导入到我的主项目中。现在,当我获取代码并将其移动到外部包中时,我可以从我的主项目中调用它的函数。但是一旦我将新函数添加到我的外部包中,我总是会在构建过程中遇到undefinedfunc...错误。我试过重建我的外部包..但没有成功。我能够更新对自定义包的引用的唯一方法是重命名外部包和文件夹。例如,如果我在/project/blah/blah.go中有以下内容:packageblahfuncDoSomethingCool(sstring){fmt.Print(s)}我可以在我的主应用程序(project/web/main.go)中将此

Go 主包分两个文件

这个问题在这里已经有了答案:gobuildworksfinebutgorunfails(3个答案)关闭7年前。在$GOPATH/src/testapp我有两个文件main.gootherfile.gomain.go有packagemainimport"fmt"funcmain(){fmt.Println(SomeFunc())}otherfile.go有packagemainfuncSomeFunc()string{return"athing"}当我尝试使用gorunmain.go运行时,出现错误./main.go:6:undefined:SomeFunc我想我可以用packagema

go - 如何在 golang 的额外包中使用主包记录器?

我想制作全局记录器。我可以制作全局记录器吗?(访问每个包) 最佳答案 包可以有全局变量:packagesomepackageimport"log"var(Log*log.Logger=log.New(os.Stderr,"",log.LstdFlags))请注意,我将Log大写。这意味着它是exported(想想其他语言中的public)。但一般来说,不鼓励使用全局变量。我建议考虑一种不同的模式。 关于go-如何在golang的额外包中使用主包记录器?,我们在StackOverflow上

go - 我如何在 GO 的另一个包中的文件中使用主包中的函数?

你好,我想在主包中调用一个方法,我的项目结构是这样的:来源:gofiles:packagemainPostgres文件夹:go文件:postgres包现在我想从来自postgres包的postgres文件夹内的go文件调用main包内的方法。我试图导入“foo/src”然后使用src.Myfunction但出现错误:import"foo/src"isaprogram,notanimportablepackage 最佳答案 包main应该只用于实现二进制/命令特定代码。它通常从其他包中导入代码以将所有内容粘合在一起。如果您需要从mai

go 测试用例未在主包中运行

这个问题在这里已经有了答案:WhyamIgetting"noteststorun"despitehavingatestfunction?(1个回答)关闭7个月前。我正在尝试编写一个简单的测试以更好地理解golang测试,但测试用例似乎没有执行,我预计它会失败。在我的main.go中我有:packagemainimport"fmt"funcmain(){fmt.Println("run")}functwoSum(nums[]int,targetint)[]int{lookup:=make(map[int]int)fori,n:=rangenums{c:=target-nifj,ok:=l

google-app-engine - 如何在与 app.yaml 不同的文件夹中为 appengine Go 使用主包?

我正在尝试将Go应用程序上传到appegnineGo1.12运行时。我的主要pkg位于cmd文件夹下,如图所示https://cloud.google.com/appengine/docs/standard/go112/config/appref#runtime_and_app_elements但是如果我尝试官方文档中概述的任何方法,我会收到以下错误:ERROR:(gcloud.app.deploy)Anerroroccurredwhileparsingfile:[/home/tamal/go/src/kmodules.xyz/resource-metadata/app.yaml]Un

Golang 用主包代码和.a 文件编译?

在我的场景中,我需要发布没有源代码但有编译形式的lib项目。鉴于,编译后的.a文件形式的一些库包,源代码形式的主包,他们构建的所有平台类型都匹配,是否可以编译main并将其与.a文件链接到可执行文件中?可行的话怎么做? 最佳答案 除非.a文件是作为“安装”(去获取或去安装)包的结果生成的。“.a”库文件是针对其使用环境的操作系统、机器架构、go版本等“定制”的。您图书馆的用户不太可能满足所有要求。出于这个原因,也许还有其他原因,没有源代码的“.a”文件没有用。 关于Golang用主包代码

api - 如何从 "test"包测试 Golang 中的主包?

我有一个用Golang编写的简单程序。它是一个API。所以在项目文件夹中,有一个名为cmd的文件夹,其中包含我的main包(用于初始化应用程序并定义API的端点)。还有一个以我的程序命名的文件夹,其中包含同样以我的程序命名的包中的多个文件。这个包作为执行所有必要查询的模型,并包含我定义的所有类型。我还创建了一个名为test的文件夹。它包含名为test的包下的所有测试文件。问题是要运行测试,我必须访问我的主包!有没有办法在Golang中做到这一点?我尝试简单地使用import"cmd/main"但当然它不起作用。我也有一个想法。也许我可以将所有初始化函数(在cmd文件夹中)移动到以我的程