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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何正確掃描pq數(shù)組?

如何正確掃描pq數(shù)組?

Go
明月笑刀無情 2023-07-10 10:58:59
在 PostgreSQL 數(shù)據(jù)庫中我有一個(gè)表:| ORGANIZATION_ID | FACTOR_IDS   | CALCULATION_VALUES  ||-----------------|--------------|---------------------|| 1               | {1,2,3,4,5}  | {0,66.66,50,100,80} || 2               | NULL         | NULL                || 1               | {6,7,8,9,10} | {0,77.77,60,110,90} |在 Go 中,我對(duì)該表進(jìn)行查詢,然后嘗試使用該Scan方法。不幸的是我收到一個(gè)錯(cuò)誤:Trace: runtime error: invalid memory address or nil pointer dereference我的代碼:type Entry struct {    OrganizationID int    FactorIDS pq.Int64Array    CalculationValues pq.Float64Array}rows, err = database.DBGORM.Raw(`SELECT * FROM ANALYTICS`, ID).Rows()if err != nil {    utils.Logger().Println(err)    return}defer rows.Close()for rows.Next() {    var entry *Entry    if err = rows.Scan(&entry.OrganizationID, &entry.FactorIDS, &entry.CalculationValues); err != nil {        utils.Logger().Println(err) // <- RAISE ERROR        return    }    if entry.FactorIDS != nil {        for index, value := range factorID {            // some code here        }    }}我該如何解決這個(gè)問題?另外,如果我將類型從 更改pq.Int64Array為*pq.Int64ArrayGo 編譯器,則會(huì)出現(xiàn)錯(cuò)誤:Cannot range over data *pq.Int64Array對(duì)于上面的代碼。
查看完整描述

2 回答

?
catspeake

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊

nil 指針解除引用已開啟entry。entry通過將指針更改為值來修復(fù):


for rows.Next() {

    var entry Entry  // <--- change on this line

    ... remaining code as in question

}


查看完整回答
反對(duì) 回復(fù) 2023-07-10
?
汪汪一只貓

TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊

由于這些 &entry.OrganizationID、&entry.FactorIDS、&entry.CalculationValues,它令人恐慌。由于條目是指針類型,并且您尚未為其初始化內(nèi)存。如果你想要指針類型的結(jié)構(gòu),你可以像這樣初始化它:


for rows.Next() {

    entry:=new(Entry)


    if err = rows.Scan(&entry.OrganizationID, &entry.FactorIDS, &entry.CalculationValues); err != nil {

        utils.Logger().Println(err) // <- RAISE ERROR

        return

    }


    if entry.FactorIDS != nil {

        for index, value := range factorID {

            // some code here

        }

    }

}


查看完整回答
反對(duì) 回復(fù) 2023-07-10
  • 2 回答
  • 0 關(guān)注
  • 169 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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