-
我是kafka新手,目前正在研究它。我在golang中使用kafka-go来创建生产者和消费者。目前我可以创建一个生产者,但我希望在创建主题的生产者后创建消费者,而不是每次都创建。意味着对于每个主题,仅创建一次消费者。此外,当需要为某个主题创建更多消费者以平衡负载时,就会创建它。有什么办法可以通过goroutine或Faktory来安排它吗?
-
假设我们有两个不同的包,比如a和b。我在包a中有一个结构,如下所示:typestruct1struct{XintYint}在包b中,我想访问包astruct1中的变量。我该怎么做?
-
我正在将go1.17与sqlx结合使用,但我不明白如何正确加入我的表。这是我的结构(我的连接不是逻辑,我只是用sqlx测试连接)表格相册:packagealbumimport".../api/v1/movie"typealbumstruct{idstring`json:"id"`titlestring`json:"title"`artiststring`json:"artist"`price
-
我已经用Go创建了一个Web应用程序,我希望能够以最流畅的方式在服务器或应用程序引擎上运行它。基本上,我创建了一个.exe(我在Windows上开发)和一组包含静态文件的文件夹。另外还有一个文件夹,里面有N个配置文件。这些配置文件包括设置数据库所需的所有配置、写入日志的文件夹/路径等。在“时间0”,当我双击本地计算机上的.exe时,安装过程将启动。它查看配置文件(如果它们不存在,甚至会创建它们)并根据我在控制台上给出的答案更新它们。此外,该应用程序会在文件系统上生成日志文
-
我正在尝试编写一个golang脚本,该脚本使用我的服务帐户来管理我的google域。当我尝试执行简单的用户列表时出现错误:400invalid_grant。看来我正确使用了我的服务帐户(?),并且我的服务帐户是超级管理员。我在java代码中使用凭据;所以我知道它是有效的。有什么想法吗?packagemainimport("fmt""io/ioutil""log""golang.org/x/net/context""golang.or
-
我有一个动态的json,我将其转换为txt:json示例:{name:luis,lastname:gomez,id_number:87846516}我转换它的代码如下:file,_:=json.marshalindent(string(jsondata),"","")data:=ioutil.writefile("test.txt",file,0644)我成功地将其转换为txt,但我需要给它一个特定的格式,其中只显示值,不带标
-
我正在使用golang制作api服务器,并使用mux作为http路由器。我的应用程序中有一个端点/tasks。当我到达该端点时,我会返回一组结果,这与预期的一样。现在,我想在此基础上添加一个可选查询参数到url中,以仅返回n结果,如下所示:/tasks?num=5只会返回5个结果。我使用下面的处理程序完成了此操作:vars:=r.URL.Query()t:=task{}ifnumOfTasksParam,ok:=vars["
-
当打印结构体中错误类型字段的nil值时,以下代码将会出现混乱。为什么?packagemainimport("fmt")typetastruct{int}typetbstruct{int*ta}typetcstruct{interror}typetdstruct{interrorinterface{}}funcmain(){fmt.printl
-
我有一个使用sqlite作为内存数据库的程序,我想定期将数据库保存到磁盘。我在sqlite文档网站上看到了这个,我想知道是否有用于此类任务的goAPI。
-
我在heap.Interface包下遇到了priorityqueue示例链接:https://golang.org/pkg/container/heap/#Interface对于heap.Interface所需的Push()和Pop()函数,实现在指针接收器上。但对于sort.Interface所需的Swap()函数,实现是有价值的。为什么会出现这种差异?根据我的理解,Push()和Pop()是在指针类型上实现的,因为它们需要更改底层数据。但按照这个逻辑,Swap()也应该在
-
我试图了解客户端(在客户端-服务器架构中)在使用“阻塞”调用时是否会以某种方式完全失去连接的另一端,而不会给出任何丢失的迹象。我认为这可能会正常发生,因为大多数网络有时都会出现问题。问题是我想重复这个想法:客户端以阻塞模式连接,服务器接受连接,然后消失,然后可能稍后重新出现,但不是以服务器关闭连接或“nacks”的方式'或任何东西。有没有办法在本地网络中引发这种行为?事实证明这个特定的应用程序是用Go编写的,但我不知道这有多重要。
-
我想发送lambda工作所需的2个参数,它基本上需要我想要搜索的值,以及作为第二个参数的字段,以便在其中查找该值。现在,我已经能够毫无问题地访问其他一些lambda,只需要一个参数和这样的代码。func(s*resourceService)GetProject(ctxcontext.Context,namestring)projectStruct{payload,err:=json.Marshal(name)util.Logger.Debugf(
-
我一直在使用带有时区的cron作业进行一些测试。我的目标是为每个时区设置1个cron作业,以便它可以独立于服务器位置运行。packagemainimport("fmt""github.com/robfig/cron""os""os/signal""time")funchelloWorld(){fmt.Println("helloworld")}funcmain(){s,err1:=cro
-
我有两种基于第三方代码的结构,我无法更改typeaddeventstruct{}typedeleteeventstruct{}我想创建一个以字符串为键、以对象为值的映射所以每次我收到新事件时我都会将其添加到地图中地图应如下所示:eventmap:event1,addevent{}event2,addevent{}event2,deleteevent{}addevent和deleteevent没有定义为接口的问题。有没有办法使用任何
-
我有2个go例程从单个通道读取数据。4秒后,我取消上下文并终止选择循环。在终止循环之前,我在通道上调用close,因为有2个go例程,所以close被调用两次并导致恐慌,因为其中一个go例程已经关闭了通道。目前我正在使用恢复来从恐慌中恢复,有更好的方法吗?packagemainimport("context""fmt""sync""time")funcnumberGen(ctxcontext.Context,nu