草庐IT

human-interface-guidelines

全部标签

go - 为什么隐式非指针方法不满足接口(interface)?

Assumingwehaveanunderstandingthat,ForexplicitmethoddefinitionfortypeX,GOcompilerimplicitlydefinesthesamemethodfortype*Xandviceversa,ifIdeclare,func(cCat)foo(){//dostuff_}anddeclare,func(c*Cat)foo(){//dostuff_}thenGOcompilergiveserror,Compileerror:methodre-declaredwhichindicatesthat,pointermethod

go - 为什么隐式非指针方法不满足接口(interface)?

Assumingwehaveanunderstandingthat,ForexplicitmethoddefinitionfortypeX,GOcompilerimplicitlydefinesthesamemethodfortype*Xandviceversa,ifIdeclare,func(cCat)foo(){//dostuff_}anddeclare,func(c*Cat)foo(){//dostuff_}thenGOcompilergiveserror,Compileerror:methodre-declaredwhichindicatesthat,pointermethod

go - 在 go 中创建一片接口(interface)片

我正在尝试创建一个函数,将map的所有key,value作为的slice返回元组的slice(其中每个元组是{key,value})代码如下:funcReturnTuples(map_map[interface{}]interface{})[][]interface{}{toReturn:=[]([]interface{})...但是我在toReturn行遇到错误:type[][]interface{}isnotanexpression我应该如何声明一个slice的接口(interface)?我认为这是唯一的方法。我试过没有括号,比如:[][]interface{}但它也不会起作用。我

go - 在 go 中创建一片接口(interface)片

我正在尝试创建一个函数,将map的所有key,value作为的slice返回元组的slice(其中每个元组是{key,value})代码如下:funcReturnTuples(map_map[interface{}]interface{})[][]interface{}{toReturn:=[]([]interface{})...但是我在toReturn行遇到错误:type[][]interface{}isnotanexpression我应该如何声明一个slice的接口(interface)?我认为这是唯一的方法。我试过没有括号,比如:[][]interface{}但它也不会起作用。我

json - 如何告诉 json.Unmarshal 使用结构而不是接口(interface)

我想编写一个函数来接收几种类型的结构并从JSON中解码它们。为此,我有另一组函数具有返回结构实例的预定义签名,但由于每个函数返回不同类型的结构,函数签名将interface{}作为返回类型。当我发送json.Unmarshal一个具体结构时,它按我预期的方式工作,但是当我发送与interface{}相同的结构时,它会将其转换为一个映射。这是描述问题的简化示例代码:packagemainimport("encoding/json""fmt")typeFoostruct{Barstring`json:"bar"`}funcgetFoo()interface{}{returnFoo{"bar

json - 如何告诉 json.Unmarshal 使用结构而不是接口(interface)

我想编写一个函数来接收几种类型的结构并从JSON中解码它们。为此,我有另一组函数具有返回结构实例的预定义签名,但由于每个函数返回不同类型的结构,函数签名将interface{}作为返回类型。当我发送json.Unmarshal一个具体结构时,它按我预期的方式工作,但是当我发送与interface{}相同的结构时,它会将其转换为一个映射。这是描述问题的简化示例代码:packagemainimport("encoding/json""fmt")typeFoostruct{Barstring`json:"bar"`}funcgetFoo()interface{}{returnFoo{"bar

google-app-engine - 正确使用 map[string]interface{}?

我有两个相关的问题,我不想为这两个问题打开一个新线程:给定以下代码:1typeRequeststruct{2Valuesmap[string]interface{}3}45func(rRequest)Send(){6client:=&http.Client{}7resp,_:=http.Post("http://example.com","text/json",&r.Values)8}这个想法是能够发送一个未知数量的blockkey=>value,key=>key=>value等到我们的API端点.问题1:如何分配给Request.Values?我们可能需要使用的示例用例如下(请原谅P

google-app-engine - 正确使用 map[string]interface{}?

我有两个相关的问题,我不想为这两个问题打开一个新线程:给定以下代码:1typeRequeststruct{2Valuesmap[string]interface{}3}45func(rRequest)Send(){6client:=&http.Client{}7resp,_:=http.Post("http://example.com","text/json",&r.Values)8}这个想法是能够发送一个未知数量的blockkey=>value,key=>key=>value等到我们的API端点.问题1:如何分配给Request.Values?我们可能需要使用的示例用例如下(请原谅P

pointers - 指向结构满足接口(interface)的指针

我扫了下Revel框架的Go代码,好像指针是满足接口(interface)要求的。请参阅下面的片段。typeResultinterface{Apply(req*Request,resp*Response)}typeRenderTextResultstruct{textstring}func(rRenderTextResult)Apply(req*Request,resp*Response){resp.WriteHeader(http.StatusOK,"text/plain;charset=utf-8")resp.Out.Write([]byte(r.text))}func(c*Con

pointers - 指向结构满足接口(interface)的指针

我扫了下Revel框架的Go代码,好像指针是满足接口(interface)要求的。请参阅下面的片段。typeResultinterface{Apply(req*Request,resp*Response)}typeRenderTextResultstruct{textstring}func(rRenderTextResult)Apply(req*Request,resp*Response){resp.WriteHeader(http.StatusOK,"text/plain;charset=utf-8")resp.Out.Write([]byte(r.text))}func(c*Con