2014-11-06 58 views
3

對於avro中的工會Idl下面的東西是什麼默認值?
1. union {null,string} var = null;
2. union {string,null} =「xyz」;
3. union {null,string} =「xyz」;
4. union {null,string,array} = [];avro Idl中的聯合的默認值是什麼?

我的假設是默認值將永遠是工會的第一項。我的理解是否正確?

回答

1

好的,我找到了答案(來自apache user guide)。
聯合的默認類型將始終是它的第一個值。因此,此處上述示例的默認類型將爲NULL,STRING,NULLNULL。默認值是分配給工會的那些值。

因此,在上述工會只有第一和第二工會的語法正確,我想所有其他(3和4)工會在語法上是錯誤的,因爲分配給他們defaultValues不匹配工會 DefaultType的。