草庐IT

无法打开

全部标签

go - 为什么在遍历结构片段时无法访问结构字段

我在包中有一个函数,该函数返回我在包中定义的特定结构的slice,然后将其导入到另一个主包中,我想遍历该函数返回的slice并访问structs字段,我收到“未定义”错误。“一个未定义(无法引用未导出的字段或方法a)”我想念什么?谢谢您的帮助。软件包代码:packagetest_packageimport"fmt"typeStructstruct{astringbstring}funcReturnStructSlice()([]Struct){s1:=Struct{"a","b"}s2:=Struct{"c","d"}structSliceToReturn:=[]Struct{s1,s

go - 无法让接口(interface)片段工作

我想做的是创建一个interface类型的slice,并用一些实现此接口(interface)的结构类型填充它。chans:=[]chanEvent{make(chanFileEvent),make(chanNetworkEvent),}但这失败了cannotusemake(chanFileEvent)(typechanFileEvent)astypechanEventinarrayorsliceliteral。现在我知道这是meanttobethatway.然而,建议的解决方案是a)不切实际,因为我有一堆不同的类型,无法轻易地迭代它们,并且b)我什至无法让它工作,它仍然给我同样的错误

go - 无法在golang中使用公钥加密

我正在使用golang加密库。funcencrypt(publicKey*rsa.PublicKey,messagestring)[]byte{msg:=[]byte(message)println(message,msg)cipherText,err:=rsa.EncryptPKCS1v15(rand.Reader,publicKey,msg)iferr!=nil{println("Error:",err.Error())}returncipherText}出现以下错误panic:运行时错误:无效内存地址或零指针解引用[信号SIGSEGV:分段违规代码=0x1地址=0x0pc=0x4

date - 无法将 "+0000 UTC"解析为 "T"。 Go utc时间解析错误

这个问题在这里已经有了答案:ConvertUTCstringtotimeobject(3个答案)关闭3年前。我试图将utc字符串之间的时间解析回Go时间。但是我得到了一个错误cannotparse"+0000UTC"as"T"。stringTime:=time.Now().UTC().String()t,e:=time.Parse(time.RFC3339,stringTime)fmt.Println(e)fmt.Println(t)Playground

unit-testing - 去单元测试无法加载文件

1、gotestconfig_test.go,总是文件,error:openconf/config.yml:Thesystemcannotfindthepathspecified2、源码ok3、gotestfile如何在不同目录下成功 最佳答案 测试期间您的工作目录不同。您可能需要动态计算配置目录路径的解决方法,例如:http://www.kaihag.com/external-assets-working-directories-and-go/ 关于unit-testing-去单元测试

go - 新的 TCP 连接抛出 "use of closed network connection",即使它刚刚打开

打开新连接时,我有时会在client.Socket.Read(message)处收到“使用已关闭的网络连接”错误在receive功能。这已经够奇怪了,但真正奇怪的是我在尝试关闭位于close(connection.Data)的已关闭channel时收到错误消息,当客户端通过manager.unregister.我显然在这里遗漏了一些东西,因为我的所有日​​志记录都表明这些是全新且未使用的channel和套接字。有什么想法吗?我使用的是Golang1.10版。typeClientManagerstruct{clientsmap[*types.Client]boolbroadcastcha

go - 导入更新在主包中无法识别

我正在处理一个项目,并且有几个我创建的包,我正在将它们导入到我的主项目中。现在,当我获取代码并将其移动到外部包中时,我可以从我的主项目中调用它的函数。但是一旦我将新函数添加到我的外部包中,我总是会在构建过程中遇到undefinedfunc...错误。我试过重建我的外部包..但没有成功。我能够更新对自定义包的引用的唯一方法是重命名外部包和文件夹。例如,如果我在/project/blah/blah.go中有以下内容:packageblahfuncDoSomethingCool(sstring){fmt.Print(s)}我可以在我的主应用程序(project/web/main.go)中将此

html - 如何在go中打开html文件

我想在go中打开一个html页面。我的项目目录是home/usr/go/project/。我的html文件在/home/usr/go/project/static/中。我想在程序启动时打开它。 最佳答案 要实际打开一个URL(或文件,浏览器必须访问它),您可以使用:https://github.com/0x434D53/openinbrowser 关于html-如何在go中打开html文件,我们在StackOverflow上找到一个类似的问题: https:/

bash - 无法在 elementary os loki 中设置 GOPATH

输入:echo"GOPATH=/home/chawat/Programming/GoWorkspace">>~/.bashrcecho"exportGOPATH">>~/.bashrcecho"PATH=\$PATH:\$GOPATH/bin">>~/.bashrcsource~/.bashrc输出:bash:/home/chawat/.bashrc:line171:syntaxerrornearunexpectedtoken`newline'bash:/home/chawat/.bashrc:line171:`esacGOPATH=/home/chawat/Programming/G

golang 无法打印内部字符串

我想在一个c++项目上使用gosdk。但是我遇到了问题,问题主要是这样的。我正在使用c函数运行一个go程序,代码可以简化为以下。主要包//#include//#include/*voidprint(){printf("justfortest");}*/import"C"funcmain(){C.print()}但是结果是none,没有输出。谁能说说是什么问题?非常感谢! 最佳答案 Cstdio是缓冲的,所以它不会立即产生输出。在C程序中,退出main或执行exit()会运行atexit处理程序,其中一个由运行时安装将刷新标准输出缓冲