9
วิธีกำหนดฟิลด์ทางเลือกใน protobuf 3
ฉันต้องการระบุข้อความด้วยฟิลด์ทางเลือกใน protobuf (ไวยากรณ์ของ proto3) ในแง่ของไวยากรณ์ของโปรโต 2 ข้อความที่ฉันต้องการแสดงออกมีดังนี้: message Foo { required int32 bar = 1; optional int32 baz = 2; } จากความเข้าใจของฉันแนวคิด "ทางเลือก" ถูกลบออกจากไวยากรณ์โปรโต 3 (พร้อมกับแนวคิดที่จำเป็น) แม้ว่าจะไม่ชัดเจนทางเลือกอื่น - การใช้ค่าเริ่มต้นเพื่อระบุว่าเขตข้อมูลไม่ได้ถูกระบุจากผู้ส่ง แต่จะทำให้เกิดความไม่ชัดเจนหากค่าเริ่มต้นเป็นของโดเมนค่าที่ถูกต้อง (พิจารณาตัวอย่างเช่นประเภทบูลีน) ฉันจะเข้ารหัสข้อความด้านบนได้อย่างไร? ขอขอบคุณ.