1. 程式人生 > >proto3欄位值為空時被忽略問題

proto3欄位值為空時被忽略問題

問題

message GetRes {
	bool is_abc = 1;
}

當 is_abc 值為false時,直接輸出response無法顯示 is_abc 這個欄位。在編譯出來的pb.go(我用的go語言)檔案中可以看到這個欄位後面帶有 omitempty 屬性,也就是空值被忽略。
直接修改pb.go檔案不友好。

解決辦法

在程式碼中也寫一個與proto中一樣的資料結構,比如:

type Resp struct {
	IsAbc bool `json:"is_abc"`
}

把proto中的資料賦值過來就好了

其它

在網上也看到其它解決辦法