[英]golang - How to convert byte slice to bool?
我有一個數據庫 sql.NullBool。 為了將 json 解組到其中,我正在寫這個小 function。我可以通過簡單地將字節數組轉換為字符串 (string(data))...bool 則不然。 知道如何轉換為 bool 嗎?
type NullBool struct {
sql.NullBool
}
func (b *NullBool) UnmarshalJSON(data []byte) error {
b.Bool = bool(data) //BREAKS!!
b.Valid = true
return nil
}
最簡單的方法是使用strconv.ParseBool
包。 像這樣:
func (b *NullBool) UnmarshalJSON(data []byte) error {
var err error
b.Bool, err = strconv.ParseBool(string(data))
b.Valid = (err == nil)
return err
}
您幾乎可以直接使用json模塊。
func (nb *NullBool) UnmarshalJSON(data []byte) error {
err := json.Unmarshal(data, &nb.Bool)
nb.Valid = (err == nil)
return err
}
它認為簡單的方法是像這樣檢查切片長度:
b := []byte("data")
isByteSliceValid := len(b) != 0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.