我在爲api編寫golang庫時遇到了問題。布爾的json方面正在引發問題。JSON golang boolean omitempty
讓我們假設api調用的布爾值的默認值爲true。
如果我做
SomeValue bool `json:some_value,omitempty`
,我不設置通過圖書館的值,該值將被設置爲true。如果我在庫中將該值設置爲false,omitempty表示false值是一個空值,所以值將通過api調用保持爲真。
讓我們拿出omitempty並讓它看起來像這樣
SomeValue bool `json:some_value`
現在我有相反的問題,我可以將值設置爲false,但如果我不設置值,則該值將是即使我期望它是真實的,也是假的。
編輯:如何保持不必將值設置爲true而又能將值設置爲false的行爲?
等待,那麼,有什麼問題嗎? – Jerrybibo
當你需要區分未設定值和零值時,請使用指針。 – JimB
我加了問題。讓我知道,如果這是有道理@Jerrybibo – mbfrahry