我在protobuf中有5个字段(3个必需的fileds和2个可选的fileds)。从生产者端,我将发送3个必填文件(marshall),并在消费者端获取3个必填文件(unmarshall)。现在,我想在使用者端添加这两个可选参数值。可能吗 ?如果是,如何?
提前致谢
最佳答案
要为已经存在于内存中的结构更新字段,请像下面的示例一样用字段声明变量名。
如果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
}
关于go - 在Golang中解码Protobuf(proto2)后如何设置可选参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58871081/