草庐IT

正确率

全部标签

go - Go中如何正确使用组合

我是新来的;有两个具有相似行为的文件,并被告知使用组合来避免重复代码,但不太理解码合的概念。这两个文件具有共同的功能,但又各有不同。player1.gopackagegametypeconfPlayer1interface{Set(string,int)boolMove(string)boolInitialize()bool}funcPlay(confconfPlayer1)string{//codeforPlayer1}//...otherfuncsplayer2.gopackagegametypeconfPlayer2interface{Set(string,int)boolMov

go - 如何正确覆盖 UnmarshalJSON?

我正在尝试编写一个简单的自定义编码(marshal)拆收器,但失败了。请注意,我有一个具有三个功能的界面。Happy和Sad结构都通过嵌入实现所有三个必需功能的emotion结构来实现此接口(interface)。问题是当我在指向Happy或的指针上调用json.Unmarshal()时,UnmarshalJSON没有被调用伤心,我不明白为什么。您可以在GoPlayground中重现确切的代码库或者只是看看下面。您会注意到,虽然MarshalJSON被正确调用,但UnmarshalJSON却没有。typeEmotioninterface{String()stringMarshalJSO

mongodb - 如何正确写嵌套的bson.M{}

假设我们有以下结构:typeshopstruct{IDprimitive.ObjectID`json:"_id,omitempty"bson:"_id,omitempty"`Brands*brand`json:"brand,omitempty"bson:"brand,omitempty"`}typebrandstruct{IDprimitive.ObjectID`json:"_id,omitempty"bson:"deploymentid,omitempty"`}我尝试使用findOne()查找文档,但即使使用MongoDBshell有匹配结果,我也没有得到任何文档。filter:=b

Go Web 服务器无法正确处理/删除/模式化

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭9年前。Improvethisquestion我刚刚玩了一个googleGO官方例子WritingWebApplications我试图添加删除页面的功能,但没有成功。原因是,如果您将"/delete/"作为参数传递给http.HandleFunc()函数,您总是会收到404Pagenotfound。任何其他"foobar"字符串都按预期工作。简化代码:packagemainimport("fmt""net/http")funchandl

types - 在 Go 中调用嵌入式类型的重载方法的正确方法

我有一个界面:packagepkgtypeBaseInterfaceinterface{funcNifty()boolfuncOther1()funcOther2()...funcOther34123()}以及实现它的结构:packagepkgtypeImplstruct{}func(Impl)Nifty()bool{...}然后是另一个想要嵌入第一个并做它自己的Nifty()的结构:packagemyOtherPackageimport"pkg"typeImplToostruct{*pkg.Impl}func(itImplToo)Nifty()bool{...somethingels

pointers - 修复数组替换中引用不正确的 slice

以下go代码无法编译,因为(我相信)指针的引用方式存在错误。特别是,错误信息是prog.go:13:cannotuseappend((*x)[:remove],(*x)[remove+1:]...)(type[]int)astype*[]intinassignment这是导致此错误消息的代码的抽象和简化版本。packagemainimport"fmt"funcmain(){x:=&[]int{11,22,33,44,55,66,77,88,99}fori,addr:=range*x{ifaddr==22{forlen(*x)>5{remove:=(i+1)%len(*x)x=appen

git - 在 Go 中编写代码的正确方法是什么?

最近发现Revel是一个非常不错的MVCweb框架,想尝试一下。问题是我是Go的新手,一切似乎都有点不同。使用PHP时,我只是将文件放入/var/www/中文件夹,或者使用一些IDE,然后我可以打开浏览器并实时测试它们。使用RoR或Node.js甚至更容易,我只需转到本地项目文件夹(无论在哪里),在终端中运行一个命令并且已经可以在localhost:3000上看到结果.这样,我在本地机器上就有了以下结构:home└──mark└──code├──php│ └──my_php_app└──ruby└──my_ruby_app它们都是通过git同步的。然后,当我想在我的远程机器上部署时,我

ubuntu - GOPATH 设置不正确

我是在xubuntu上安装的。之后,我更改了GOPATH$exportGOPATH=$HOME/go$echo$GOPATH$/home/rangga/go如果我真的去运行$gorun/home/rangga/go/src/Test/testpath.go$/home/rangga我使用os.Getwd()来测试当前路径应该是这样的输出/home/rangga/go/src/Test仅供引用,这是我的环境GOARCH="amd64"GOBIN=""GOCHAR="6"GOEXE=""GOHOSTARCH="amd64"GOHOSTOS="linux"GOOS="linux"GOPATH

API 调用中的 JSON 解码不正确,我得到一个空白结构

我的JSON看起来像这样:{"website":{"id":8,"account_id":9,"name":"max","website_url":"","subscription_status":"trial","created_at":"2016-01-24T01:43:41.693Z","updated_at":"2016-02-21T01:17:53.129Z",}}我的网站结构如下所示:typeWebsitestruct{Idint64`json:"id"`AccountIdint64`json:"account_id"`Namestring`json:"name"`Webs

function - 在结构上调用函数的正确习惯用法是什么?

我是新手(来自python和ruby​​),想知道在结构上调用函数的惯用方式是什么?主要是我想知道我是否应该使用点运算符来调用函数或使用我的类型作为参数之一。还是用指针更好?有指针还是没有指针?点与论点?*我可以这样做吗?packagemainimport"fmt"funcmain(){me:=Person{firstname:"John",lastname:"Doe",age:40}fmt.Println(me.fullname())}typePersonstruct{firstnamestringlastnamestringageint}func(pPerson)fullname(