草庐IT

go - 我应该如何避免在微服务架构中多次实现我的方法

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭3年前。Improvethisquestion我在Golang中从事微服务架构(我的第一个架构)工作,我发现自己在多个服务上复制模型定义。我该怎么做才能避免这种情况?我只能考虑用我所有的模型定义来实现一个共享库,但我无法评估优缺点。你能告诉我解决这个问题的其他方法吗?

go - 无法创建在线网页

我正在尝试创建Golang网页...进度:Ubuntu18.04安装在本地和LinodeVPS上。创建并编译了本地Golang“HelloWorld”脚本,该脚本在本地和在线均呈现OK。创建了一个net/httpGolang脚本,在本地调用http://localhost:8080/testing时可以正常工作以查看它是否工作将脚本上传到Linode服务器并显示初始状态消息,但在调用http:123.456.789.32:8080/testing以查看它是否有效时浏览器卡住。////Golang-main.go//packagemainimport("net/http")funcsay

json - 尝试将 unix 格式的字符串转换为 time.Time 时,使用 json.Unmarshal 给出 ParseError

我有一个包含以下内容的JSON文件:{..."body":"{\"timestampFrom\":\"154087600\"}"...}当我尝试执行时:iferr:=json.Unmarshal([]byte(apiGatewayEvent.Body),&config);err!=nil{glog.Errorf("ErroroccurredwhiletryingtounmarshalbodyofAPIGatewayProxyRequest.Errormessage-%v",err)returnnil,err}我收到:Erroroccurredwhiletryingtounmarshal

go - 使用goroutine插入 map 的问题

我是Golang的新手,正在学习使用goroutine。我正在尝试通过goroutines将许多字符串同时插入到map[int]string中packagemainimport("fmt""sync")funcinput(mmap[int]string,iint,wg*sync.WaitGroup){m[i]=fmt.Sprintf("line%d\n",i+1)fmt.Print(m[i])wg.Done()}funcGetMap(mmap[int]string,wg*sync.WaitGroup){wg.Add(5)fori:=0;i预期:第1行第2行第5行第3行第4行map[0:

json - 在 go 中进行 json 序列化后的 Anonymus 结构

我想实现这样的输出json格式{"2019-07-22":{"something":{"type":"ENTRY","id":1766617,},"something2":{"type":"ENTRY","id":1766617,},},"2019-07-23":{"something":{"type":"ENTRY","id":1766618,},"something2":{"type":"ENTRY","id":1766620,},},}到目前为止,我已将这些数据分成3个结构:typeResponsestruct{Daysmap[string]Day}typeDaystruct{E

go - 从另一个本地包导入本地包

我的项目结构是这样的:MicroService-Server(projectnameandfolder)main.go---model(foldername)------packagemodel---logics(foldername)-----campaigncreation(foldername)--------packagecampaigncreation-----utilities(foldername)--------packageutilities---controller(foldername)我想在“campaigncreation”中使用“model”包,我尝试了各种

windows - 如何阻止 Golang 在执行 Windows 命令时用反斜杠替换双引号?

我正在用Golang编写一个程序,它将使用Mozilla的Thunderbird电子邮件客户端发送电子邮件。应该执行的Windows命令是:start"""C:\ProgramFiles(x86)\MozillaThunderbird\thunderbird.exe"-compose"to='CloudCoin@Protonmail.com',subject='Subject1',body='Hello'"-offline我的Go代码看起来像这样(命令是上面列出的那个):varcommandstringcommand=`start"""C:\ProgramFiles(x86)\Mozi

go - 不确定如何覆盖回调以调整未导出的字段

我想做的是覆盖给定对象的一些bool值,例如:funcmain(){manager:=dshardmanager.New("Bot"+token)manager.bareSession.State.TrackRoles=false;manager.bareSession.State.TrackPresences=false;//morestuffhappensdownhere}但是bareSession是一个未导出的字段,因此我需要以不同于我正在收集的方式来执行此操作。我遇到过一些使用反射的方法,但我想学习执行此操作的最佳实践方法。在我的具体情况下,它看起来像libraryI'musi

go - 来自不同文件的全局变量 Golang

我有两个不同的文件:(1)/common/handler.go和(2)main.go。在(/common/handler.go)文件中,我声明了vardb*sql.DBvarerrerror作为全局变量(在顶层,导入下面)。现在,我想在我的main.go文件中使用这两个变量,因为我的main()函数中有这行代码:db,err=sql.Open("mysql","username:password@tcp(127.0.0.1:3306)/test123")我应该怎么做才能让Go理解我指的是db和err变量?我什至以正确的方式这样做吗?如果没有,请告诉我最佳解决方案。我之所以拆分成这两个文

转到模块 : "cannot find module providing package" importing sub package of a dependency

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭3年前。Improvethisquestion我在$GOPATH之外有一个项目,我想使用gomod。但是,当我从$GOPATH中的项目复制代码并运行时$GO111MODULE=ongomodinitgithub.com/jgoc/modtest$GO111MODULE=ongorunmain.go我得到一个错误。go版本go1.12.5wind