我想在切片上添加一些辅助方法。所以我创建了一个类型是 []*MyType 有没有办法添加到 MyTypes 的那部分?append 将无法识别切片。
package main
import "fmt"
type MyType struct{
Name string
Something string
}
type MyTypes []*MyType
func NewMyTypes(myTypes ...*MyType)*MyTypes{
var s MyTypes = myTypes
return &s
}
//example of a method I want to be able to add to a slice
func(m MyTypes) Key() string{
var result string
for _,i := range m{
result += i.Name + ":"
}
return result
}
func main() {
mytype1 ,mytype2 := MyType{Name:"Joe", Something: "Foo"}, MyType{Name:"PeggySue", Something: "Bar"}
myTypes:= NewMyTypes(&mytype1,&mytype2)
//cant use it as a slice sadface
//myTypes = append(myTypes,&MyType{Name:"Random", Something: "asdhf"})
fmt.Println(myTypes.Key())
}
我不想将它包装在另一种类型中并命名参数,即使我正在这样做..因为 json 编组可能会有所不同
添加到 MyTypes 切片的方法是什么?
我真的希望能够向切片添加一个方法,以便它可以实现特定的接口而不影响编组。有没有更好的方法?
holdtom
相关分类