草庐IT

Go 为外部包导出常量报告 "undefined"

代码如下:packagemainimport("log""github.com/google/gopacket""github.com/google/gopacket/pcap")funcmain(){log.Print(gopacket.MaxEndpointSize)log.Print(pcap.MaxBpfInstructions)}当我运行gobuild时,我得到了这个:./main.go:11:undefined:pcap.MaxBpfInstructions但您可以在此处查看MaxBpfInstructions:https://godoc.org/github.com/go

go - 由于 "Authentication failed: EOF",Mesos 框架保持不活动状态

我目前正在尝试部署Eremetic(版本0.28.0)在Marathon之上使用configurationprovidedasanexample.我实际上已经能够部署它一次,但突然间,在尝试重新部署它之后,框架保持不活动状态。通过检查日志,我注意到有人不断尝试连接到某些服务,但由于某些身份验证问题而显然永远不会成功。2017/08/1412:30:45Connectedto[REDACTED_MESOS_MASTER_ADDRESS]2017/08/1412:30:45Authenticationfailed:EOF看起来返回错误的服务是ZooKeeper,更准确地说,错误似乎可以追溯

go - 获取 "parent"goroutine 的堆栈以及 "child"的堆栈

是否有一种方法,可能打开了一些调试标志,以获取所有goroutine的堆栈跟踪转储以及“父”goroutine的堆栈跟踪(此处使用“parent”表示goroutine执行了对gofoo()的调用,启动了相关的goroutine)。这个问题的背景是我有一个连接泄漏并注意到awaitDone(在sql包中)有很多goroutines被阻塞,并且这些goroutines是在创建连接的地方产生的。 最佳答案 runtime.Stack()将为您提供运行时知道的所有堆栈信息。阅读输出可以看到,对于Goroutines,它们被设计为不包含其祖

go - 任何人都可以提供您自己的/标准的 "clone method"约定,供我/我们引用吗?

我在Golang中找不到“克隆”方法约定,但似乎有必要有一个。我只看到了内置的方法*clonedObj=*obj,但是它太低级了,无法处理(必要时)像这样的深拷贝结构{成员*CompositionObj}我怀疑“func(objClassA)Clone()interface{}”原型(prototype)是否会工作,因为调用obj2:=obj.Clone()会“松散”为ClassA设置的方法,之后需要像obj2.(*ClassA)这样的显式代码。请建议工作方向。 最佳答案 Thisanswer关于map的类似问题建议使用thegob

linux - 最小起订量 : running "moq": exec: "moq": executable file not found in $PATH

在尝试moq框架的示例时,当我输入“gogenerate”时出现以下异常:example.go:5:running"moq":exec:"moq":executablefilenotfoundin$PATH我该怎么办?我正在使用Kubuntu16.04PS:我试过了exportPATH=$PATH:/home/[...]/go/src/github.com/matryer/moq没有成功 最佳答案 @sprabhakaran得到了正确的答案。我只需要将go二进制文件夹添加到PATH全局变量:exportPATH=$PATH:/hom

python - 如何在 Python 中计算字符串的 md5,类似于 Go 中的 "crypto/md5"

我知道有hashlib在Python中,但我想获得与下面的Go中相同的结果:packagemainimport("crypto/md5""fmt")funcmain(){data:=[]byte("12345")fmt.Println("sum",md5.Sum(data))}作为funcmd5.Sum描述,它计算“数据的MD5校验和”。但是,我在Python中找不到任何类似的函数。有没有办法像在Go中那样在Python中实现md5.Sum?上面程序的输出是一个slice而不是一个字符串:sum[3244185981728979115075721453575112]

go - Golang扫描函数中 "ERROR: IOError: closed stream"如何处理?

我在Golang代码中使用knifebootstrap命令来引导节点。有时食谱中有等待,等待超过10分钟。在这种情况下,我收到错误“错误:IOStream关​​闭”。有什么办法可以增加时间限制吗?我也在不断地从cmd的输出和错误流中读取日志。funcexecuteCMDWorkstation(cmd*exec.Cmd,projectId,cr_idstring)bool{stdout,err3:=cmd.StdoutPipe()iferr3!=nil{utils.Info.Println(err3)returnfalse}deferstdout.Close()stderr,err4:=

arrays - 我在 golang 中使用 make 方法创建二维数组时遇到问题 "panic: runtime error: index out of range"

Iamnewingolangandtrytolearnwithsmallexamples.所以我正在尝试创建一个二维数组并分配一个值,但我被困在这里任何人都可以帮助我。这是我的代码。packagemainimport("fmt")funcmain(){fmt.Println("Hello,playground")letters:=make([][]string,0,2)letters[0][0]="a"letters[0][1]="b"letters[1][0]="c"letters[1][1]="d"fmt.Println(letters)}运行这段代码时出现错误panic:runt

unit-testing - 无法在 golang : "unable to open database file [recovered]"-error 中打开 SQLite 数据库

我刚开始学习golang,不确定我的错误是概念上的还是语言上的。这很奇怪,因为只有在对我的代码进行单元测试时才会出现错误。如果我“去运行”一切正常。作为sqlite驱动程序,我使用mattn/go-sqlite3.这里是问题发生的地方:funcdbExec(command*string){db,err:=sql.Open("sqlite3",dbPath)//Pathanddriveraresetcorrecrtlydeferdb.Close()iferr!=nil{//Noproblemherepanic(err)}_,err=db.Exec(*command)iferr!=nil{

regex - Go 中的 "Unknown escape sequence"错误

我用Go编写了以下函数。这个想法是该函数有一个字符串传递给它并返回找到的第一个IPv4IP地址。如果未找到IP地址,则返回空字符串。funcparseIp(checkIpBodystring)string{reg,err:=regexp.Compile("[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+")iferr==nil{return""}returnreg.FindString(checkIpBody)}我得到的编译时错误是unknownescapesequence:.我如何告诉Go'.'是我正在寻找的实际字符?我以为逃避它会成功,但显然我错了。