组没有实现数据(FooMethod方法有指针接收器)

时间:2017-08-09 22:04:27

标签: go

这是我的代码:

temp.push_back(a[i] & (1 << 0))

但是没有按照我的预期工作。

package main

import "fmt"

type Group struct {
}

func (g *Group) FooMethod() string {
    return "foo"
}

type Data interface {
    FooMethod() string
}

func NewJsonResponse(d Data) Data {
    return d
}

func main() {
    var g Group
    json := NewJsonResponse(g)
    fmt.Println("vim-go")
}

1 个答案:

答案 0 :(得分:1)

如果你想使用struct接收器,请在第8行的函数定义中删除组之前的*。为了方便起见,它们反过来工作(在struct指定接收器上定义)。看到有效的解释。

https://golang.org/doc/effective_go.html#pointers_vs_values

修改版本:

https://play.golang.org/p/ww6IYVPtIE