草庐IT

linux项目开发

全部标签

go - 是否可以在项目基础上开发 Go? (没有gopath)

假设我想将一个go项目集成到另一个repo中,或者想在我的桌面上开发一个临时项目。我目前的理解是,为了开发任何东西,它必须在我的gopath之内。这是Go独有的吗?有没有办法,例如,goinit一个文件夹并将其用作独立的项目文件夹? 最佳答案 正如我在AutomaticallydefiningGOPATHonaperprojectbasis中所说明的那样,这取决于您的IDE。VisualStudioCode将自动检测一个Go项目结构(myProject/src)并为该项目设置一个GOPATH。参见“GOPATHintheVSCode

docker - 在 docker 中构建 golang 项目 - 在 $GOPATH 或 $GOROOT 中找不到包

这个问题在这里已经有了答案:BuildDockerwithGoapp:cannotfindpackage(6个答案)关闭3年前。我有一个项目,路径为/Users/me/Documents/dev/grafana/src/github.com/grafana/grafana。该项目使用了其他几个项目,例如:/Users/me/Documents/dev/grafana/src/github.com/BurntSushi/toml/Users/me/Documents/dev/grafana/src/github.com/Unknwon/com我可以在我的机器上构建一切正常,但是当我尝试在

go - 将 go 项目分解为子文件夹

我想将我的项目分解为子文件夹。我想要这样的代码结构:├──main.go└──models└──user.gomain.go在哪里:packagemainimport("fmt""./models")funcmain(){fmt.Println(User{"new_user"})}而user.go是:packagemodelstypeUserstruct{Loginstring}但User未在主包中定义,导入会引发警告“已导入且未使用”。我做错了什么?我的项目很简单(不是这样的例子,而是只有几个文件(Controller和模型)),我想要一个简单的结构。也许我的做法完全错误?问题项目在

linux - 从 Linux 内核虚拟文件系统中检索信息

我想编写一个实用程序,根据/proc目录中可用的数据进行一些报告。读取和解析我感兴趣的虚拟文件的内容就这么简单吗?在做类似的事情时,我已经看到在Python中实现了这种方法。在Go中有更好的方法来做到这一点吗?对于背景故事,我在Linux上使用ZFS并希望从此虚拟文件检索数据:/proc/spl/kstat/zfs/arcstats这是一个直接对该文件进行操作的Python程序。 最佳答案 IsthisassimpleasreadingandparsingthecontentsofthevirtualfileIamintereste

dictionary - 项目列表的 Golang 类型断言

我调用一个API,它返回一个字典(map),其中包含一个项目列表作为值。例如:-result={'outputs':[{'state':'md','country':'us'},{'state':'ny','country':'ny'}]}以上数据是python中数据的表示方式。在Python中,我直接使用result['outputs'][0]来访问列表中的元素列表。在Golang中,相同的API返回数据,但是当我尝试访问数据作为结果['outputs'][0]得到这个错误:-invalidoperation:result["outputs"][0](typeinterface{}d

go - 努力用gogradle编译go项目

我在另一个虚拟机上工作。我使用了相同版本的工具:Gradle4.9Java8更新181golang1.9.7gogradle插件0.10我收到以下错误:13:44$gradle构建>Configureproject:Foundgo1.9.7in/home/phil/dev/tools/go/current/bin/go,useit.>Task:prepareUseprojectGOPATH:/home/phil/dev/projects/misc/go/Notification_System_GO/.gogradle/project_gopath.gogradle/project_go

linux - 无法使用 pulseaudio 作为 systemd 单元捕获麦克风输入

我创建了一个使用these的小程序gobindings以记录来自默认麦克风的一些命令并执行相应操作。它作为一个独立的二进制文件(作为普通用户和root用户)工作正常,但是当我尝试将它转换为systemd单元时,go绑定(bind)中的Capture函数失败,错误提示为connectionrefused。程序在作为systemd服务运行时无法捕获麦克风输入。以下是几乎从here复制粘贴的单元文件.[Unit]Description=Commanderserviceprovidingvoicecommands[Service]ExecStart=/path/to/binary/binary

amazon-web-services - 将项目插入表中的 AWS DynamoDB Golang 问题

我一直在关注MiguelC的tutorial在golang中设置DynamoDB表,但将我的json修改为看起来像这样而不是使用电影。我将电影结构修改为水果结构(因此没有更多信息),并且在我的模式中我将分区键定义为“名称”,将排序键定义为“价格”。但是当我运行我的代码时,它说"ValidationException:Oneoftherequiredkeyswasnotgivenavalue"尽管我将输入打印为map[name:{S:"bananas"}price:{N:"0.25"}]这清楚地表明Stringbananas和Number0.25都有值。我的Json如下所示:[{"nam

linux - sleep 过程直到在 Go 中完成

我正在尝试在Go中自动化一个流程。我已经能够实现线程并相应地执行该过程,但是输出是混合和匹配的。我想知道是否有一种方法可以根据程序的进程显示程序生成的输出。因此,如果任务A在任务B之前完成,我们会在B之前显示A的输出,反之亦然。packagemainimport("fmt""log""os""os/exec""sync")varurlstringvarwgsync.WaitGroupfuncnikto(){cmd:=exec.Command("nikto","-h",url)cmd.Stdout=os.Stdouterr:=cmd.Run()iferr!=nil{log.Fatal(e

新项目的 Golang 架构问题

我正在使用这个https://medium.com/@eminetto/clean-architecture-using-golang-b63587aa5e3f我下一个项目的架构。但是我有几个问题:缓存应该放在哪一层?认证/授权应该在哪一层?这是与Go一起使用的良好架构吗? 最佳答案 您想缓存什么,数据库查询或文件或请求?认证/授权可以在中间件层也可以在View/模型层之前。您可以根据您的需要和目标挑选您的架构。选择架构没有硬性规定。正确的架构来自于为同一目标在不同架构上尝试POC。 关