0

我在 protobuf 中有 5 个字段(3 个必填字段和 2 个可选字段)。从生产者端,我将发送 3 个必需的文件(编组)并在消费者端获取(解组)3 个必需的文件。现在,我想在消费者端添加这两个可选参数值。可能吗 ?如果是,如何?

提前致谢

4

1 回答 1

0

要更新已在内存中的结构的字段,请使用该字段声明变量名称,如下例所示。如果 someStruct 在内存中,则可以随时覆盖该值。

someStruct.SomeField = SomeValue

package main

import (
    "fmt"
)

type Data struct {
    FieldOne   string
    FieldTwo   int
    FieldThree []string
    FieldFour  float64
}

func main() {
    data := createData("A string", 9)
    data = data.rcv()
    fmt.Println(data)
}

func createData(f1 string, f2 int) *Data {
    d := &Data{}
    d.FieldOne = f1
    d.FieldTwo = f2
    return d
}

func (d *Data) rcv() *Data {
    d.FieldThree = []string{"string1", "string2"}
    d.FieldFour = 1.2
    return d
}
于 2019-11-15T23:09:44.650 回答