亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將新的布爾屬性添加到 Golang 結構并將默認值設置為 true?

如何將新的布爾屬性添加到 Golang 結構并將默認值設置為 true?

Go
江戶川亂折騰 2021-12-13 11:04:06
我有一個對應于實體的用戶結構。如何添加新屬性active并將默認值設置為true?我還可以true通過一些簡單的方法為所有現有實體設置該屬性的值嗎?type User struct {    Id              int64     `json:"id"`    Name            string    `json:"name"`}額外問題:我不太了解結構中的語法。三列代表什么?JSON 字符串周圍有什么?
查看完整描述

2 回答

?
森林海

TA貢獻2011條經驗 獲得超2個贊

//You can't change declared type.

type User struct {

    Id              int64     `json:"id"`

    Name            string    `json:"name"`

}

//Instead you construct a new one embedding existent

type ActiveUser struct {

    User

    Active bool

}

//you instantiate type literally

user := User{1, "John"}

//and you can provide constructor for your type

func MakeUserActive(u User) ActiveUser {

    auser := ActiveUser{u, true}

    return auser

}

activeuser := MakeUserActive(user)

你可以看到它的工作原理https://play.golang.org/p/UU7RAn5RVK


查看完整回答
反對 回復 2021-12-13
?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

在將結構類型傳遞給變量時,您必須將默認值設置為 true,但這意味著您需要使用新Active字段擴展該結構。


type User struct {

    Id              int64     `json:"id"`

    Name            string    `json:"name"`

    Active          bool

}


user := User{1, "John", true}

json:"id"意味著您將 json 解碼的對象字段映射到id結構類型中的字段。實際上,您將 json 字符串反序列化為對象字段,稍后您可以將其映射到結構中的特定字段。


查看完整回答
反對 回復 2021-12-13
  • 2 回答
  • 0 關注
  • 310 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號