草庐IT

useful-code-snippets-to-develop-i

全部标签

unit-testing - httptest.NewRequest 与 http.NewRequest : which one to use in tests and why?

Golang有这两个相似的库http和httptest并且它们都有NewRequest函数。如果http.NewRequest能做到这一切,为什么我们还需要httptest.NewRequest?如果我需要为我的测试创建多部分/多形式请求,我需要使用哪一个? 最佳答案 如文档中所示,httptest.NewRequest“返回一个新的传入服务器请求,适合传递给http.Handler进行测试”,而http.NewRequest“返回适合与Client.Do或Transport.RoundTrip一起使用的请求。”因此,如果您在单元测

go - Go 中的 RabbitMQ : machinery worker cannot to connect to 0. 0.0.0:5672 消息 getsockopt: 连接被拒绝

RabbitMQ在wifi网络中运行良好,我在运行ArchLinux的笔记本电脑中设置了RabbitMQ。但是,当我在不同的wifi网络中使用同一台笔记本电脑时,出现以下错误:machinery:worker.go:42:Goingtoretrylaunchingtheworker.Error:Dial:dialtcp0.0.0.0:5672:getsockopt:connectionrefusedmachinery:retry.go:20:Retryinginxseconds我不知道为什么RabbitMQ在一个网络中工作而不在另一个网络中工作。我尝试更改/etc/rabbitmq/r

go - 错误 :fork/exec : no such file or directory -- when run Golang code in docker

首先感谢任何帮助我想在容器中执行Gocode:FROMindex.tenxcloud.com/tenxcloud/centos:centos7ADD./ping-app/wls/applications/ping-appRUNyuminstall-ygcclibxml2-devellibxslt-devel&&ldconfigRUNyuminstall-yopenssh-servernet-toolstelnetRUN/bin/cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtimeRUNmkdir-p/wls/logs/&&touch/wls

go - 我收到错误 fatal error : runtime: out of memory while downloading video using 'go-ipfs-api'

我使用go-ipfs-api从ipfs下载了一个大文件,web访问下载。我收到一个fatalerror:runtime:outofmemory.如何修改我的代码?funcmain(){http.HandleFunc("/",download)http.ListenAndServe(":8080",nil)}funcdownload(whttp.ResponseWriter,r*http.Request){client:=shell.NewShell("http://127.0.0.1:5001")fd,err:=client.Cat("QmTcj7SfRf4vnLnCqnxMT7kut

indexing - 戈朗 : int to slice conversion

完全是golang(和编程)菜鸟!给定任何六位数字,如何输出一个slice,其中该数字的每个字符都被分配到slice中的一个单独位置?例如,一个包含所有这些字符的slice(我们称之为s)将具有s[0]=第一个数字、s[1]=第二个数字、s[2]=第三个数字等等。如有任何帮助,我们将不胜感激! 最佳答案 funcIntToSlice(nint64,sequence[]int64)[]int64{ifn!=0{i:=n%10//sequence=append(sequence,i)//reverseorderoutputsequenc

arrays - 无法对二维数组的列进行 slice "cannot use Sudoku[0:9][0] (type [9]int) as type []int in assignment"

我正在使用9x9二维数组的slice制作一个简单的数独游戏。我仍然刚开始使用Golang并且有一些C++经验。我不断收到错误消息“无法将数独[0:9][0](类型[9]int)用作赋值中的类型[]int”。varrow1[]int=数独[0][0:9]该行正确地获取了二维数组第一行的值并将它们放入row1slice中,但是使用varcol1[]int=Sudoku[0:9][0]会导致上面的错误消息。我能做什么?提前致谢!例如,packagemainimport"fmt"funcmain(){varSudoku[9][9]intfmt.Println(Sudoku)varrow1[]i

go - 如何在 Visual Studio Code VS 上同时修改多个 go/golang 项目?

我同时在多个go/golang项目中工作,所有这些项目都在github上进行了版本控制。我正在使用VisualStudioCode作为IDE。为此,我将项目克隆到同一文件夹中,并在VisualStudioCode上打开它。例如,我必须在依赖项目B的项目A中进行修改(均来自同一组织),但是此修改也意味着修改项目B。然后从项目A上的任何go源文件我访问B上的代码,但VisualStudioCode显示A上的代码存储在主文件夹的go文件夹中(即/go/pkg/mod/github.com/organization/goproject/core/...).是否有任何形式可以引用我克隆的源代码而

pointers - 调用结构函数给出 "cannot refer to unexported field or method"

我有这样的结构:typeMyStructstruct{Idstring}和函数:func(m*MyStruct)id(){//doingsomethingwithidhere}我还有一个这样的结构:typeMyStruct2struct{m*MyStruct}现在我有一个函数:funcfoo(str*MyStruct2){str.m.id()}但是我在编译时遇到错误:str.m.idundefined(cannotrefertounexportedfieldormethodmypackage.(*MyStruct)."".id如何正确调用这个函数? 最佳答案

syntax - 戈朗 : how to get sub element from a []interface{} alias

我为[]interface{}定义了一个别名:typestate[]interface{}如何获取状态中的子项:functest(sstate){//Howtoget1stelementins?//orHowtoconvertsbackto[]interface{}?}test([]interface{1,2,3}) 最佳答案 test([]interface{1,2,3})是错误的,应该是test(state{1,2,3}).您还可以像访问任何slice一样访问s中的第一个元素,使用s[x]:typestate[]interfac

go: var declared but not used 错误 - 如何解决?

在这个函数中,我得到了“sdeclaredandnotused”,我不明白-我是否需要以某种方式将其标记为“我真的使用过它”还是什么?funcgetString(datamap[string]interface{},namestring)(string,error){s:=data[name]ifreflect.TypeOf(s).Kind()!=reflect.String{returns.(string),nil}return"",&apiError{1,"it'snotastring"}}奇怪的是,我没有从这个函数中得到错误:funcgetInt(datamap[string]i