草庐IT

接收端

全部标签

methods - 在 golang 中,如何访问采用指针接收器且也在不同包中的方法?

packagetestsimport("testing""strconv""dir/model")typeTestStructstruct{IDintastringbstringcstringdstringacbooladbool}funcTestUpdate(t*testing.T){t.Log("Updating")cur:=TestStruct{i,a,b,c,d,true,true}err:=cur.model.Update(a,b,c,d,true,true)}在上面的代码块中,我试图调用一个方法,该方法采用接收者指针并且位于包“model”中。编译器错误是:引用未定义的字段

pointers - 如何定义一个函数,该函数接收一个指针作为参数并返回一个指向该参数的子节点之一的指针?

现在我正在学习Go,这是我第一次接触指针。但这有点棘手,我开始怀疑我这样做是对还是错。标题是我最好的猜测,试图用外语解释我想做的事情,所以如果不清楚,我可以尝试用不同的方式解释。这是代码的简化示例:https://play.golang.org/p/eultYp7Cq12funchasCity(elementstring,state*State)(bool,*City){for_,city:=range(*state).Cities{if(city.Name==element){returntrue,&city}}returnfalse,nil}如您所见,输出为:true&{Campi

go - 在 Golang 中使用全局列表变量。接收 "Use of package list without selector"

我有一个名为rooms的全局链表。它将存储该用户输入的所有房间的名称。在我的函数创建中,我试图引用这个名为房间的列表。我在我的主要功能中实例化列表。当我尝试将项目添加到列表“房间”时,我收到错误“使用不带选择器的包列表”。我希望能够从我的创建函数中向我的名为房间的列表中添加一个字符串。packagemainimport("net""fmt""bufio""os""container/list")varroomslistfunccreate()string{reader:=bufio.NewReader(os.Stdin)fmt.Print("NametheChatroom");inpu

go - channel 仅从 Println in go routine 接收抛出死锁异常

我有一些代码,我试图使用fmt.Println在goroutine中打印channel的内容。这是代码的简化版本。packagemainimport"fmt"import"time"funcmain(){ch:=make(chanint)gofmt.Println(当我运行上面的代码时,出现了这个错误。fatalerror:allgoroutinesareasleep-deadlock!goroutine1[chanreceive]:main.main()C:/cygwin64/home/vmadhusudana/go/channel.go:9+0x67exitstatus2但是当我从

go - 在同一功能中使用 channel 发送和接收

如何在同一个函数中创建一个2-waychannel(我不知道这是不是正确的术语)。如果我有以下代码,那么:funcserver(a还有其他实现方法吗?感谢任何帮助。 最佳答案 正如@Warrior评论的那样:在上面提到的代码中,带channel的方向指针限制函数在该channel上执行任何其他事件,而不是允许的事件。所以,制作它:funcserver(achanstring){代替funcserver(a将允许函数通过同一channel发送和接收数据。 关于go-在同一功能中使用chan

Go结构作为方法接收者有和没有接口(interface)

我是Go的新手。想知道struct在没有out接口(interface)的情况下作为方法的接收者有什么好处或坏处typeDBstructfunc(db*DB)add(userUser){...//somecode}func(db*DB)remove(userUser){..//somecode}typeUserAccessinferface{funcadd(userUser)funcremove(userUser)}func(db*DB)add(userUser){...//somecode}func(db*DB)remove(userUser){..//somecode}PLEASE

object - golang 发送和接收对象

我可以使用以下代码在golang中发送和接收字符串://sendsidemessage.Buf.WriteTo(conn)//receivesidemessage,err:=bufio.NewReader(conn).ReadString('\n')iferr!=nil{panic(err)}fmt.Print("Messagefromclient:",string(message))但是,我想发送整个消息对象并在接收端接收它类似于://sendsidemessage.WriteTo(conn)//receivesidemessage,err:=bufio.NewReader(conn

javascript - 如何操作我们在golang中发送和接收的数据

如何解码在javascript中发送到服务器的json对象并将它们保存到变量op1,op2,opr。在java脚本中,我想解码服务器发送的响应并将其保存为变量结果。java脚本代码:varcalculate={operand1:null,operand2:null,operator:null};functionUserAction(){varxhttp=newXMLHttpRequest();xhttp.open("POST","http://localhost:8000/",true);xhttp.setRequestHeader("Content-type","applicatio

c - 如何调用作为参数接收的 C 函数

我想使用在C语言中进行一些调整的Go库。我制作了具有3个参数intx、y和函数类型f的GoAdderGo函数。GoAdder函数将调用f参数。加法器.gopackagemainimport"fmt"import"C"//exportFtesttypeFtestfunc(C.int);//exportGoAdderfuncGoAdder(x,yint,fFtest)int{fmt.Printf("Gosays:adding%vand%v\n",x,y)f(10);returnx+y}funcmain(){}//Requiredbutignored我在上面将gopackage构建为一个名为

pointers - 基准测试时指针接收器不比值接收器快

这是我正在测试的代码,我希望看到基准测试时,基于指针的addDataPointer比基于​​addData值的函数执行得更快。为什么两者在性能上没有显着变化?packagemainimport"fmt"typeBigStructstruct{namestringdata[]byte}funcaddData(sBigStruct)BigStruct{s.data=append([]byte{0x00,0x01,0x02,0x03,0x04,0x05},s.data...)returnBigStruct{name:s.name,data:s.data}}func(s*BigStruct)a