-
我是新手,所以我希望这不会被认为是愚蠢的!我当前的文件夹结构与此类似在models文件夹中,我有person.go。packagemodels//personstructtypepersonstruct{namestringageintgenderstring}在main.go中,我喜欢导入models,这样我就可以使用person结构。packagemainimport"fmt"import"
-
有人可以帮我理解为什么pw(作者)计划在Start()中关闭吗?我希望pw在Wait()中与pr(读者)一起关闭。
-
我感觉自己被go的继承困住了。我定义了一个结构及其两个子结构,例如:typefatherstruct{}typesonstruct{fathername...}typedaughterstruct{fathersex...}我已经实现了son的一个方法,如下所示,我想在daughter中实现完全相同的方法,而无需再次编写相同的代码。我一开始不使用func(s*father)方法的原因是它看不到son.name,这在我的方法中很重要。
-
是否有一种惯用的方法来重置结构的属性?举例来说,假设我正在创建一个扫描仪(又名:lexer):typescannerstruct{src,tokensstring//let'spretendthattokensisastring.posint}而我的scanner有两种方法:init和scan。除此之外,该包还导出一个newscanner函数,用户可以创建一个传递自定义令牌的新扫描仪:funcnewscanner(tokensstring
-
我第一次尝试使用go-routine和通道通信在golang(1.12)中编写代码。我有telegram机器人和一段代码,可以在发生某些更新并需要答案时与机器人进行通信。同时,我尝试放置一些web服务,该服务将通过httpget获取消息并将其发送给bot。事实上它确实有效,但只有一次。之后bot部分仍然工作,但是无法执行httpget请求,它一直挂到超时。我尝试使用带缓冲区的通道,但在这种情况下它完全停止工作。//AppisastructurewithBot
-
根据googleprotobuf字段应使用下划线命名,即。first_name示例消息将是messagename{first_name=1;}但是,在生成pb代码时,name结构名字字段标记与其在原型文件中定义的方式相同,而不是小驼峰命名。typenamestruct{firstnamestring`protobuf:"bytes,3,opt,name=first_name,json=firstname,proto3"json:"first_
-
将鼠标悬停在t1.print()上时,我的ide抱怨:通话中接收者“t”可能为“nil”更详细地说:使用“nil”接收器的方法调用可能会导致“nil指针取消引用”但是在尝试了代码之后,我似乎无法得到nil指针取消引用错误。我缺少什么?我怎样才能导致该错误?typeT[]stringfunc(t*T)Print(){log.Print(t)log.Print(*t)log.Print(&t)log.P
-
我有一个返回“正常运行时间”值的http服务器。代码的简短版本:packagemainimport("fmt""net/http""time")varstartuptime.timefuncmain(){startup=time.now()http.handlefunc("/",roothandler)http.listenandserve(":39000",nil)}funcroothandler
-
我有一个现有的TCP连接(net.Conn),我正在尝试在该连接上使用(开发)RPC客户端-服务器应用程序。到目前为止,我探索了标准库中的gRPC和net/rpc;除非我遗漏了什么,否则两者似乎都需要完全控制连接。我可以使用gob进行自定义实现来序列化请求/回复,但由于我还需要良好的错误处理(至少对于我在服务器端生成的错误),我试图查看是否存在一些现有的我可以使用的框架。有什么建议/想法吗?
-
我是golang新手,不确定问题标题是否准确,但我会尝试为问题添加更好的描述。在daos/model.go中,我有一个包含以下代码的包:typeactiontypeintconst(actiontypeexecuteactiontype=0+iotaactiontypeselectactiontypeinputactiontypeclickactiontypewait)funcactiontypefromstring
-
我有goserver来解组它收到的json。当我使用curl执行此操作时它有效,但在python情况下失败。go服务器解组代码:typedatastruct{namespacestring`json:"namespace"`containeridstring`json:"containerid"`}funcnotify(whttp.responsewriter,r*http.request){decoder:=js
-
我继承了一些我仍在试图理解的代码。其核心是:formsg:=rangethis.out{fori,handler:=rangethis.handlers{select{casehandler
-
我有以下代码,我想将yaml转换为客户端go数据结构并从中获取对象名称packagemainimport("fmt""k8s.io/api/extensions/v1beta1""k8s.io/client-go/kubernetes/scheme")varyml=`apiversion:extensions/v1beta1kind:deploymentmetadata:name:testnginxreplicas:1spec:
-
我正在尝试创建此代码块:varnextWorkdaytime.Date//varnextWorkday*time.Date//neitherworksyyyy,mm,dd:=now.Date()goalTime,_:=time.ParseDuration(fmt.Sprintf("%fh",*goal))goalSeconds:=int(goalTime.Seconds())ifdate.Weekday()!=time.Friday{//wai
-
我正在尝试解决以下问题:两名玩家从一堆硬币开始,每个玩家都可以选择从硬币堆中取出一枚或两枚硬币。拿走最后一枚硬币的玩家就输了。我想出了以下简单的递归实现(游乐场):funcgamewinner(coinsremainingint,currentplayerstring)string{ifcoinsremaining