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

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

為什么這個測試使用 reflect.deepEqual 會失???

為什么這個測試使用 reflect.deepEqual 會失???

Go
qq_花開花謝_0 2023-06-01 14:35:50
我有以下結構,每個字段都有吸氣劑```type Profile struct {    id        dom.ID    screeName ScreenName    dob       DOB    gender    Gender    bio       Bio    avatar    Avatar    company   Company    website   Website    address   address.Address    accounts  []dom.ID}```每個字段的類型只是字符串的包裝器,用于進行一些驗證或其他操作。吸氣劑都是相同的格式,```// ScreenName returns the ScreenName for the profilefunc (p *Profile) ScreenName() ScreenName {    return p.screeName}// DOB returns the dob for the profilefunc (p *Profile) DOB() DOB {    return p.dob}```構造函數在下面,如果沒有提供設置結構字段的選項,則會為其提供隨機默認值。```type Option func(prof *Profile)func New(opts ...Option) *Profile {    p := newWithAllDefaults()    for _, opt := range opts {        opt(p)    }    return p}```所有可以傳遞給構造函數的選項類型都經過測試,并在 Profile 結構上設置非導出字段?,F在我遇到的問題是測試。我現在只使用 go 大概 3 個月,所以我確信我在這里遺漏了一些東西,但是在我的測試中使用 reflect.deepEqual() 時,我總是得到意想不到的結果。使用簡單的標量值,它可以按預期工作,但我不知道為什么我期望通過的測試失敗了,而我期望失敗的測試卻通過了。
查看完整描述

1 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

i將基于零,因此在您的第 4 次測試中,您將進入 switch 中的第 3 條語句并比較您可以從輸出中看到的不同出生日期。第三個 case 語句也打印出完整的結構。



查看完整回答
反對 回復 2023-06-01
  • 1 回答
  • 0 關注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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