第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

為什么會出現(xiàn)“Composite Literal Uses Unkeyed”錯誤?

為什么會出現(xiàn)“Composite Literal Uses Unkeyed”錯誤?

Go
郎朗坤 2022-11-23 15:29:54
我是 Go 的新手,正在構(gòu)建一個請求解碼器。請求采用 JSON 格式,我們將其解碼為 map[string]interface{}。然后我們將該對象數(shù)據(jù)傳遞給我們自己的 ProcessRequest 結(jié)構(gòu)進行解碼。正如我所說,我是新手,所以我在以前開發(fā)人員編寫的代碼的類似部分中重復(fù)使用了一些邏輯。本質(zhì)上,我們正在檢查地圖中是否有必要的部分,然后設(shè)置并返回它們。有人可以向我解釋為什么我會收到標題錯誤嗎?我是否必須將項目一直設(shè)置為不再有任何嵌套的基本結(jié)構(gòu)?有沒有更好的方法來完成我想要的?這是代碼和相關(guān)結(jié)構(gòu)。它突出顯示了 model.ProcessRequest 返回時的錯誤。蒂亞type ProcessRequest struct {    RequestID string    Message   *message.Message    Rule      *Rule    Options   *ProcessOptions    //TODO: Context EvaluatorContext    //TODO: Links}type Message struct {    ID         int    Key        string    Source     string    Headers    *HeaderSet    Categories *CategorySet    Properties *PropertySet    Streams    *StreamSet}type RuleAction struct {    Name       string    Expression map[string]interface{}}type RuleLink struct {    LinkID       int    Condition    map[string]interface{}    TargetRuleID int}type Rule struct {    Name    string    Code    string    Actions []RuleAction    Links   []RuleLink}type object = map[string]interface{}func DecodeProcessRequest(dataObject map[string]interface{}) (*model.ProcessRequest, error) {    var (        requestID string        message   *message.Message        rule      *model.Rule        options   *model.ProcessOptions        err       error    )    if reqIDSrc, ok := dataObject["requestId"]; ok {        if requestID, err = converter.ToString(reqIDSrc); err != nil {            return nil, errors.Wrapf(err, "Error reading property 'requestID'")        }        if requestID == "" {            return nil, errors.Errorf("Property 'requestID' is an empty string")        }    } else {        return nil, errors.Errorf("Missing required property 'requestID'")    }
查看完整描述

1 回答

?
12345678_0001

TA貢獻1802條經(jīng)驗 獲得超5個贊

超級這條評論中說:

一般來說,警告說您應(yīng)該更喜歡使用語法ProcessRequest{ RequestID: requestID, ... }. 命名鍵而不是未鍵值。

那對我有用。此外,kostix此評論中的解釋也很有幫助。

基本上這個想法是,如果您使用“無鍵”方式定義結(jié)構(gòu)文字,則定義的含義取決于基礎(chǔ)類型字段的布局方式?,F(xiàn)在考慮您的類型具有string按特定順序排列的三個類型字段。現(xiàn)在經(jīng)過幾次迭代,一些程序員將第二個字段移到了第一個位置——您的文字仍然可以編譯,但最終會在運行時定義一個完全不同的值。


查看完整回答
反對 回復(fù) 2022-11-23
  • 1 回答
  • 0 關(guān)注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號