proto2 wersja protokołu buforów pozwala określić wartości domyślne dla elementów wiadomości:Dlaczego w protokole proto3 nie ma niestandardowych wartości domyślnych?
optional double scaling_factor = 3 [default = 1.0];
Dlaczego nie jest to już możliwe w proto3? Uważam, że jest to dobra funkcja do zapisywania dodatkowych bajtów na drucie bez potrzeby pisania jakiegokolwiek kodu opakowania.
Szkoda, że nie mogą po prostu wykryć obecności pola na drucie i zastosować brak umowy w przypadku jego braku. To samo w sobie powinno być agnostyczne. –
@MeirionHughes - Wierzę, że problem pojawia się podczas tworzenia instancji nowego obiektu, a nie poza linią. Jeśli twój język nie zawiera pojęcia konstruktorów i nie ma koncepcji akcesorów, nie możesz zainicjować pól na wartości domyślne, niezależnie od serializacji. –
Ale z pewnością można po prostu przypisać pola struct po zakończeniu budowy? Nie mogę wymyślić żadnego rozsądnego powodu, dla którego miałbyś język, który definiowałby niemożliwe do zainicjowania, niezmienne struktury ... –