草庐IT

go-json-rest

全部标签

go - 实现与接口(interface)不匹配

我有一个界面:typeResponderinterface{read()(interface{})getError()(error)setError(error)getTransactionId()(string)}和实现:typeCapacityResponsestruct{valint32errerrortransactionIdstring}func(r*CapacityResponse)getError()error{returnr.err}func(r*CapacityResponse)setError(errerror){r.err=err}func(r*CapacityR

json - 如何解析 JSON 提取数组

关闭。这个问题需要debuggingdetails.它目前不接受答案。编辑问题以包含desiredbehavior,aspecificproblemorerror,andtheshortestcodenecessarytoreproducetheproblem.这将有助于其他人回答问题。关闭4年前。Improvethisquestion我使用Go。我想解析一个JSON文件。但我只需要JSON文件中的一个数组,而不是所有结构。这是JSON文件:link我只需要items的数组。如何从JSON中提取这个数组?

go - 在 golang 中安装外部包

我正在尝试在我的golang代码中导入一个包。但它向我显示了这个错误:cannotfindpackage"github.com/mattbaird/jsonpatch"inanyof:/opt/go/src/github.com/mattbaird/jsonpatch(from$GOROOT)/chaincode/input/src/github.com/mattbaird/jsonpatch(from$GOPATH)/opt/gopath/src/github.com/mattbaird/jsonpatch"有人可以帮我解决这个问题吗?谢谢。 最佳答案

json - 尝试读取 JSON 时函数体外部的非声明语句

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭4年前。Improvethisquestion我在以下代码中遇到以下两个错误,并且无法编译。我不太确定我在这段代码中做错了什么。这是我的错误:.\app.go:52:52:语法错误:意外},需要逗号或).\app.go:55:1:语法错误:函数体之外的非声明语句。我不知道在下面的代码中还有什么要检查的。任何帮助将不胜感激packagemaini

go - 达到 time.Now() 时进行循环

在Golang中是否可以通过给定的日期变量增加for循环中的日期,直到达到当前日期/时间。Now()//Startdatet,_:=time.Parse(time.RFC3339,"2018-07-19T12:25:10.8584224+02:00")//Currentdatect:=time.Now()ford:=t;d.Day()==ct.Day();d=d.AddDate(0,0,1){//Printalldaysbetweenstartdateandcurrentdatefmt.Println(d)}我希望变量d打印出所有日期(包括时间等),直到它到达当前日期

go - Golang内置函数 "make"如何实现不同类型的参数长度检查?

在文档中,API显示make接受类型和可变大小的IntegerType参数。funcmake(tType,size...IntegerType)Type做一个数组,我可以传3个参数,比如制作([]int,3,5)但是当我尝试制作map时make(map[int]int,3,5)当我编译时,它弹出toomanyargumentstomake(map[int]int)。这与编译器有关吗?是否可以为我自己的函数实现此行为? 最佳答案 编译器对make和其他内置函数有特殊的了解。编译器对make正在初始化的值类型强制执行允许的参数计数。编译

go数组存储为字符串-如何转换为数组

我有这个列表作为一个字符串:["测试1","测试2"]我如何转换?根据我有限的理解,这是一个接口(interface):[]interface{}如果是这样,我该如何转换为数组?fmt.Println(test)["test1","test2"]fmt.Println(reflect.TypeOf(test))string我尝试了以下:in:=[]byte(test)varraw[]interface{}json.Unmarshal(in,&raw)fmt.Println(raw[0])以上工作仅供引用谢谢 最佳答案 您的json作

go - http中的Goroutines

Thisquestionalreadyhasananswerhere:Gowebserverrequestsspawnitsowngoroutine?(1个答案)去年关闭。我对http中的goroutines有疑问。在下面的代码中是一个简单的Web服务器。如果有5个人访问服务器,则2个人进入handler1()函数,3个人进入handler2(),golang将创建5个goroutine或我是否需要保留字go?例如gohttp.HandleFunc("/h1",handler1)packagemainimport("fmt""log""net/http")funchandler1(wh

go - 去写入(按索引)到 slice 中超出索引的元素的惯用方法是什么?

假设我有一个稀疏填充的slice,并希望通过索引读取/写入一个元素,该元素可能超出也可能不超出slice的容量。当x可能超出容量时,写入s[x]的惯用方式是什么? 最佳答案 您需要检查x是否在slice的范围之外,如果超出则扩展slice(附加零或类似的东西)。没有神奇的捷径。要“扩展”slice,您可以执行以下操作:a=append(a,make([]T,j)...)其中a是slice,T是其内容的类型,j是您想要扩展它的程度。 关于go-去写入(按索引)到slice中超出索引的元素的

go - 为什么返回具体类型不满足需要接口(interface)返回的接口(interface)

假设我们有如下代码packagemaintypeI1interface{Foo()string}typeI2interface{Bar()I1}typeS1struct{}func(s*S1)Foo()string{return"foo"}typeS2struct{}func(s*S2)Bar()*S1{return&S1{}}funcmain(){x:=&S2{}variI1=x.Bar()println(i.Foo())varyI2y=&S2{}println(y.Bar().Foo())}现在,在我看来S2满足I2,因为Bar()的返回满足I1,如上面几行所示,但编译器不同意我的