草庐IT

go-import

全部标签

go - 如何执行命令来执行sed

我有以下代码段不起作用。编译但不执行预期的操作。在bash上执行相同的命令。为什么?hash:="4ab32de"cmd="sed-i-e's/clt_[0-9a-z]*/clt_"+hash+"/g'/tmp/test.env"parts=strings.Fields(cmd)for_,part:=rangeparts{fmt.Printf("\n%s",part)}head=parts[0]out,err=exec.Command(head,parts[1:]...).Output()fmt.Printf("\nnewcmdis%s\n",cmd)fmt.Printf("out:%

go - Golang 中的结构声明

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion鉴于Go主要基于C,并且该语言中的结构定义如下:structPerson{...}为什么我们在Go中有额外的词?typePersonstruct{...}为什么我们需要同时提到类型和结构?似乎有点冗长。

go - 解码映射结构

首先我有一个结构:typetimesmap[time.Time]struct{}我需要为它编写Marshal/Unmarshal方法来转换json。我写过MarshalJSON方法,但不明白如何写UnmarshalJSON方法。func(tstimes)keys()[]time.Time{res:=make([]time.Time,0,len(ts))forkey:=rangets{res=append(res,key)}returnres}func(tstimes)MarshalJSON()([]byte,error){returnjson.Marshal(ts.keys())}fu

go - 如何修复此导入?

main_test.gopackagemain_testimport("log""os""testing"".")funcTestMain(m*testing.M){a=main.App{}a.Init(os.Getenv("TEST_DB_USERNAME"),os.Getenv("TEST_DB_PASSWORD"),os.Getenv("TEST_DB_NAME"))ensureTableExists()code:=m.Run()clearTable()os.Exit(code)}应用程序去packagemainimport("database/sql""fmt""log""gi

go - 为什么 "close"不是保留关键字?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestionclose()似乎是channel的保留关键字。让它成为一个内置的似乎有点强大,当它可能只是一个channel上的方法时,不是吗?比如在创建和关闭文件时?我想对于len()也可能有同样的要求?

regex - 使用 Go 从字符串中删除所有文章和其他字符串?

Go中是否有任何方法或正则表达式可以只删除字符串中使用的冠词?我试过下面的代码可以做到这一点,但它也会从我正在显示下面代码的字符串中删除其他单词:removalString:="Thisisastring"stringToRemove:=[]string{"a","an","the","is"}for_,wordToRemove:=rangestringToRemove{removalString=strings.Replace(removalString,wordToRemove,"",-1)}space:=regexp.MustCompile(`\s+`)trimedExtraSp

oop - 理解 Go 中的多态性

我想我陷入了思考以下问题的多态性解决方案:假设我有一个包含交易字段的BaseTX结构。现在我有两种特殊类型的交易:RewardTXstruct和AllowanceTXstruct。RewardTXstruct此时只有BaseTXstruct的组成。AllowanceTXstruct由BaseTXstruct和AddField组成。我还有一个函数logicAndSaveTX(),它在BaseTX的字段上有一些逻辑,但最后使用json.Marshal序列化整个对象()并将byte[]保存在某处。typeTXapiinterface{logicAndSaveTX()}typeBaseTXst

arrays - 在 Go 中打印数组值

我试图在Go中的结构中定义一个数组,设备数组应该有3个字符串类型的项目,但我找不到如何打印设备数组的值下面输出“不匹配的类型字符串和[2]字符串”。有什么提示吗?typeNodesstruct{Nodes[]Node`json:"nodes"`}typeNodestruct{devices[2]string`json:"devices"`}varnodesNodesfmt.Println("Device:%+v"+nodes.Nodes[i].devices) 最佳答案 你的错误是因为你试图连接一个string和一个[2]strin

go - 对 golang 项目布局 repo 在实践中的工作方式感到困惑

本题引用热门project-layout.这只是一种布局代码的方式,但二进制文件的实际编译将在/cmd/app1//cmd/app2/所以如果我有一个网站,它仍然会被认为是一个cmd应用程序,它只会启动http监听器等。或者整个布局中是否有多个“入口”点,而不仅仅是在cmd文件夹中?您将如何使用此布局实际构建和运行您的应用程序?(或者其中之一,因为据我所知它支持多个)是不是这样:去构建cmd/app1/*.go? 最佳答案 你可以gobuild./cmd/app/例如我有这个模块├──cmd│  ├──cli│  │  └──mai

go - 在 go vet 之后,命名文件必须都在一个目录中;

使用govet**/*.go后出现命名文件必须全部在一个目录中;我需要做什么来修复它?我的项目结构如下所示。 最佳答案 ./...是golang递归处理树的方式。试试govet./...而不是 关于go-在govet之后,命名文件必须都在一个目录中;,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/53802745/