草庐IT

go-mocket

全部标签

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

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”包,我尝试了各种

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变量?我什至以正确的方式这样做吗?如果没有,请告诉我最佳解决方案。我之所以拆分成这两个文

go - 包级集合

我在包级别有一个全局定义的map。当我提到它时,似乎每次使用时都会重新创建map。1)这是一个正确的假设吗?2)背后的原因是什么?(我猜是不变性和线程安全)3)如何在GO中定义全局使用的集合以供所有包使用(即想想C#等语言中的全局静态定义)?包:packagedeviceimport"strconv"varDevices=map[int]Device{1:Device{name:"Lamp"},2:Device{name:"AirConditioner"}}typeDevicestruct{namestringValueintStateint}func(d*Device)String(

go - 如何将新字段添加到 Golang 中另一个包中的现有类型

我有一个自定义的AUTH包,那里有USERSTRUCT。所以我想在我的go项目中导入auth包并在不修改包代码的情况下覆盖结构或向结构添加新字段。packageauthtypeUserstruct{gorm.ModelUserEmailstringUserPassstring}现在我有main.gopackagemainimport"auth"//WANTTOOVERRIDEOREXTENDTHEUSERSTRUCTauth.User={UserAgestring}functionmain(){} 最佳答案 Soiwanttoimp

go - 使用 Go 标准库查找 IP 地址的位置和时区

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭3年前。Improvethisquestion我正在尝试使用Go标准库查找任何IP地址的位置和时区,但尚未找到任何解决方案。我正在尝试查找发送请求的任何客户端的IP地址,通过使用如下的go方法并清理他们的响应来想出一种方法。req.Header.Get("x-forwarded-for")req.RemoteAddr但是一旦我获得了IP。Go中是否有任何方法使用标准库来获取该IP的位置和时区,我不能使用任何第三方