2016-08-03 7 views
0

は、私はこのようなプロトを持っていた:異なるバージョン

message Person { 
    required string name = 1; 
    required int32 id = 2; 
    optional string email = 3; 
} 

今私は、それは次のようになりますので、それに別のフィールドを追加する必要があります。私は今、その人をデシリアライズする場合

message Person { 
    required string name = 1; 
    required int32 id = 2; 
    optional string email = 3; 
    optional string phone = 4; 
} 

古いバージョンでシリアライズされたのは唯一の違いは、hasPhone()は常にfalseになりますか?だから私は実際に古い/新しいバージョンのprotoのhasPhone true/falseであることを区別することができるすべての新しい人のために電話機が設定されると仮定?

+0

なぜあなたは私を文中で引用しましたか? :)それの始まりは "だから電話はすべての新しい人のために設定されると仮定..."。 – user1985273

+0

申し訳ありません。それは長い夜だった:) –

答えて

2

はい、正しいです。

getPhone()を使用して、文字列が空であるかどうかを確認することもできます。これは、空の文字列が文字列型フィールドの既定値であるためです。

関連する問題