go 函数输入,func (req *AppendEntriesRequest)

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”吗?请求呢?这里有点糊涂。谢谢


浮云间
浏览 205回答 1
1回答

慕工程0101907

那是一个 Go 方法AppendEntriesRequest是一种类型并且req *AppendEntriesRequest是指向该类型的指针。您可以将req其他语言作为this或selfw io.Writer 是函数的输入。(int, error) 是返回值。您可以通过实例化AppendEntriesRequest结构来调用此方法:r := &AppendEntriesRequest{} n, err := r.Encode(...)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go