go function input,func(req * AppendEntriesRequest)Encode(w io.Writer)(int,error){

时间:2014-08-26 01:50:07

标签: go

func (req *AppendEntriesRequest) Encode(w io.Writer) (int, error) {
    pb := &protobuf.AppendEntriesRequest{
        Term:         proto.Uint64(req.Term),
        PrevLogIndex: proto.Uint64(req.PrevLogIndex),
        PrevLogTerm:  proto.Uint64(req.PrevLogTerm),
        CommitIndex:  proto.Uint64(req.CommitIndex),
        LeaderName:   proto.String(req.LeaderName),
        Entries:      req.Entries,
    }

    p, err := proto.Marshal(pb)
    if err != nil {
        return -1, err
    }

    return w.Write(p)
}

对于这个功能,是" w"输入?请问怎么样?有点困惑在这里。 感谢

1 个答案:

答案 0 :(得分:1)

这是一个Go方法

AppendEntriesRequest是一种类型,req *AppendEntriesRequest是指向该类型的指针。 您可以将其他语言中的reqthisself

进行比较

w io.Writer是函数的输入。

(int, error)是返回值。

您可以通过实例化AppendEntriesRequest结构来调用此方法:

r := &AppendEntriesRequest{}
n, err := r.Encode(...)