草庐IT

go-mocket

全部标签

go - 试图安装 golang 命令,但它显示找不到命令

我已经设置了我的$GOPATH=$HOME/go和$GOROOT=usr/local/go我尝试按照本教程进行操作,以便可以在我的golang网络服务器上进行热重载https://github.com/codegangsta/gin我是通过安装的gogetgithub.com/codegangsta/gin然后我试着跑gin-hItshowscommandisnotfound我已检查该库是否安装在我的$GOPATH/bin我该怎么办? 最佳答案 您需要将这些命令添加到您的shell启动(.bashrc或类似文件)或在使用gin之前手

go - 为什么用指针分配接口(interface)然后分配地址在 Golang 中显示不同的行为

我刚接触golang。我从go之旅开始。这是goplaygroundlink代码如下:packagemainimport"fmt"typeIinterface{M()}typeTstruct{Sstring}func(t*T)M(){fmt.Println(t.S)}funcmain(){variIvart*Ti=ti.M()}panicpanic:runtimeerror:invalidmemoryaddressornilpointerdereference[signalSIGSEGV:segmentationviolationcode=0xffffffffaddr=0x0pc=0x

go - sha256 和与 gzip 命令输出不匹配

我正在尝试在Go中计算一个gzip文件的sha256总和,但我的输出与gzip命令的输出不匹配。我有一个函数Compress可以压缩io.Reader的内容,在我的例子中是一个文件。funcCompress(rio.Reader)(io.Reader,error){varbufbytes.Bufferzw:=gzip.NewWriter(&buf)if_,err:=io.Copy(zw,r);err!=nil{returnnil,err}iferr:=zw.Close();err!=nil{returnnil,err}return&buf,nil}然后我有一个函数Sum256可以计算读

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

list - 在 go 中创建一个包含列表类型的结构

我创建了一个结构,这个结构中包含两个列表类型。当我尝试实例化我的结构时,我收到错误不能在字段值中使用list.New()(类型*list.List)作为类型list.List我正在使用golangplayground结构typemyStructstruct{namestringmessageslist.Listuserslist.ListlastUsedtime.Time}实例化结构varmyVar=myStruct{"hello",list.New(),list.New(),time.Now()} 最佳答案 list.New()返

go - 使用 Goroutines 进行基准测试

这里是Golang的新手,在使用goroutines进行基准测试时遇到了问题。我的代码在这里:typestorestruct{}func(n*store)WriteSpan(spaninterface{})error{returnnil}funcsmallTest(timesint,b*testing.B){writer:=store{}varwgsync.WaitGroupnumGoroutines:=timeswg.Add(numGoroutines)b.ResetTimer()b.ReportAllocs()forn:=0;n在我看来,这两种情况的运行时间和分配应该相似,但运行它

go - Golang 可以使用字符串来执行操作吗?

我想创建一个有条件地对两个整数执行操作的方法。本质上,它应该做以下事情packagemainimport("fmt")funcmain(){op:="*"a:=100b:=200fmt.Println(aopb)}如果不使用switch语句,这在Golang中是否可行?我能够做到这一点的唯一方法是:switcha{case"+":fmt.Println(a+b)case"*":fmt.Println(a*b)case"/":fmt.Println(a/b)case"-":fmt.Println(a-b)}我想让它对像这样的操作更具可扩展性,,等 最佳答案

go - gofm 能否适应本地编码标准偏好?

我喜欢gofmt在Go编程中的作用。不过,我们宁愿:funcsomefunc(a*sometype,//Explanationofabint,//ExplanationofblongNamefloat64,//ExplanationoflongName){...能够像这样格式化:funcsomefunc(a*sometype,//Explanationofabint,//ExplanationofblongNamefloat64,//ExplanationoflongName){...类似于结构的格式化方式,并与我们针对其他语言的编码标准保持一致。是否有任何条款可以满足像这样的本地偏好

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接口(interface)属性未定义

我有一个特定的问题,我需要一个可以取一个或另一个结构值的变量。我创建了一个userResp结构,其中包含一个具有接口(interface)值的用户字段,但是如果我添加一个返回用户名为Password的子属性的函数,则会返回错误。user的值将是一个具有Password属性的结构。结构:typeuserRespstruct{userinterface{}}函数func(ur*userResp)password()string{returnur.user.Password}我得到ur.user.Passwordundefined(typeinterface{}isinterfacewith