草庐IT

method-group

全部标签

methods - 为什么在Golang中给结构体添加方法时一定要声明变量名?

假设我有一个结构typeRectanglestruct{length,widthint}我想给它添加一个方法:func(rRectangle)Area()int{returnr.length*r.width}为什么我必须在这里给它一个变量名r? 最佳答案 因为没有表示实际接收者值的隐式标识符(如Java中的this),如果您想要引用接收者值的字段或方法(Rectangle值),您需要一个可以使用的标识符。请注意,规范不要求您命名接收者值,例如以下使用blankidentifier是一个有效的语法:func(_Rectangle)Fo

struct - 如何解决 "type interface has no field or method"错误?

我想为mgoAPI写一个抽象:packagemanagerimport"labix.org/v2/mgo"typeManagerstruct{collection*mgo.Collection}func(m*Manager)Update(modelinterface{})error{returnm.collection.UpdateId(model.Id,model)}编译时我得到“model.Idundefined(interface{}hasnofieldormethodId)”这本身是显而易见的。这对我来说是完全错误的方法还是有一个简单的解决方法如何让编译器“相信”传递的结构在运

struct - 如何解决 "type interface has no field or method"错误?

我想为mgoAPI写一个抽象:packagemanagerimport"labix.org/v2/mgo"typeManagerstruct{collection*mgo.Collection}func(m*Manager)Update(modelinterface{})error{returnm.collection.UpdateId(model.Id,model)}编译时我得到“model.Idundefined(interface{}hasnofieldormethodId)”这本身是显而易见的。这对我来说是完全错误的方法还是有一个简单的解决方法如何让编译器“相信”传递的结构在运

go - IntelliJ IDEA : Jump from interface to implementing method in Go

在IntilliJIdea/Goland中,是否有任何快捷方式允许我在接口(interface)定义中选择一个方法并跳转到该方法的实现或给我实现列表。我正在寻找类似Cmd+单击并获取方法/函数用法时得到的东西。但是我需要捷径来实现,而不是使用方法。目前我必须复制方法名称并在项目中搜索,这并不是最有效的方法。我正在使用带有Goplugin的intelliJIdea(社区版)2016.2.2EAP版本:0.12.1724。我已经尝试了Cmd+Alt+b但总是得到Noimplementationfound 最佳答案 Goland(或Int

go - IntelliJ IDEA : Jump from interface to implementing method in Go

在IntilliJIdea/Goland中,是否有任何快捷方式允许我在接口(interface)定义中选择一个方法并跳转到该方法的实现或给我实现列表。我正在寻找类似Cmd+单击并获取方法/函数用法时得到的东西。但是我需要捷径来实现,而不是使用方法。目前我必须复制方法名称并在项目中搜索,这并不是最有效的方法。我正在使用带有Goplugin的intelliJIdea(社区版)2016.2.2EAP版本:0.12.1724。我已经尝试了Cmd+Alt+b但总是得到Noimplementationfound 最佳答案 Goland(或Int

dictionary - 戈朗 : group and sum slice of structs

我来自.NET世界,在那里我有LINQ,所以我可以执行内存中查询,就像我们通常在SQL中看到的那样。我有这个结构的一部分,我想按8个字段分组,然后对另一个整数字段求和。像这样的东西:typeRegisterstruct{id1intid2intid3intid4intid5intid6intid7intid8intmoneyint}我认为:创建一个Equal函数,比较结构(那八个字段)。遍历我正在分析的集合。对于每个项目检查它是否已经在哈希表中。如果它在那里=>我求和场。如果不是=>我将新项目添加到哈希表中。有没有更好的方法或者任何美观、高效且易于使用的方法图书馆?

dictionary - 戈朗 : group and sum slice of structs

我来自.NET世界,在那里我有LINQ,所以我可以执行内存中查询,就像我们通常在SQL中看到的那样。我有这个结构的一部分,我想按8个字段分组,然后对另一个整数字段求和。像这样的东西:typeRegisterstruct{id1intid2intid3intid4intid5intid6intid7intid8intmoneyint}我认为:创建一个Equal函数,比较结构(那八个字段)。遍历我正在分析的集合。对于每个项目检查它是否已经在哈希表中。如果它在那里=>我求和场。如果不是=>我将新项目添加到哈希表中。有没有更好的方法或者任何美观、高效且易于使用的方法图书馆?

methods - 在函数内部定义结构的方法

我有这个代码funcbaz(){typemockDatabasestruct{}////Morecode//}我想定义一个mockDatabase的方法,所以完整的代码是这样的:funcbaz(){typemockDatabasestruct{}func(m*mockDatabase)Foo(){//Implementfunctionhere}////Morecode//}我想这样做的原因是我正在将一个依赖项注入(inject)到一个函数中,我想创建一个“模拟对象”来注入(inject)到函数中(该函数将一个接口(interface)作为参数,模拟对象将实现接口(interface))

methods - 在函数内部定义结构的方法

我有这个代码funcbaz(){typemockDatabasestruct{}////Morecode//}我想定义一个mockDatabase的方法,所以完整的代码是这样的:funcbaz(){typemockDatabasestruct{}func(m*mockDatabase)Foo(){//Implementfunctionhere}////Morecode//}我想这样做的原因是我正在将一个依赖项注入(inject)到一个函数中,我想创建一个“模拟对象”来注入(inject)到函数中(该函数将一个接口(interface)作为参数,模拟对象将实现接口(interface))

methods - 无效操作 : s[k] (index of type *S)

我想定义这样一个类型:typeSmap[string]interface{}我想像这样向类型添加一个方法:func(s*S)Get(kstring)(interface{}){returns[k]}程序运行时出现了这样的错误:invalidoperation:s[k](indexoftype*S)那么,我该如何定义类型并为类型添加方法呢? 最佳答案 例如,packagemainimport"fmt"typeSmap[string]interface{}func(s*S)Get(kstring)interface{}{return(*