接口的方法

时间:2010-05-15 21:58:02

标签: interface methods go

实现附加到接口的方法的下一种方法是否正确? (getKeygetData

type reader interface {
    getKey(ver uint) string
    getData() string
}

type location struct {
    reader
    fileLocation string
    err os.Error
}

func (self *location) getKey(ver uint) string {...}

func (self *location) getData() string {...}

func NewReader(fileLocation string) *location {
    _location := new(location)
    _location.fileLocation = fileLocation
    return _location
}

2 个答案:

答案 0 :(得分:4)

在Go中,您不需要明确说明您正在实现接口 - 如果某个类型具有接口所需的所有内容,则可以通过该接口使用它。因此,您无需在reader内提及type location struct

见这里:http://golang.org/doc/effective_go.html#interfaces_and_types

答案 1 :(得分:1)

你基本上已经完成了。只要你给location的getKey和getData方法有效的body,* location就会实现reader接口。没有必要再做任何事了。