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

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

如何使用 gorm 解決“運(yùn)行時(shí)錯(cuò)誤:無效的內(nèi)存地址或 nil 指針取消引用”

如何使用 gorm 解決“運(yùn)行時(shí)錯(cuò)誤:無效的內(nèi)存地址或 nil 指針取消引用”

Go
白豬掌柜的 2023-07-26 17:11:01
我是 golang 新手,我想用它來制作一個(gè) REST API。我正在阻止這個(gè)問題。我不明白它,因?yàn)楹瘮?shù) CreateEffect 運(yùn)行良好。我的問題出在函數(shù)“getEffects”中:“db.Find(&effects)”這是我的代碼:var db *gorm.DBvar err errorfunc getEffects (w http.ResponseWriter, r *http.Request) {    var effects []Effects    db.Find(&effects)    w.Header().Set("Content-Type", "application/json")    json.NewEncoder(w).Encode(&effects)}func main () {    db, err := gorm.Open("sqlite3", "gorm.db")    defer db.Close()    //Initialisation des routes    r:= mux.NewRouter()    r.HandleFunc("/effects", getEffects).Methods("GET")    //Start serveur port 5080    log.Fatal(http.ListenAndServe(":5080",r))}這是運(yùn)行時(shí)錯(cuò)誤:2019/09/28 22:46:54 http: panic serving 127.0.0.1:36488: runtime error: invalid memory address or nil pointer dereferencegoroutine 27 [running]:完整代碼在這里: https: //pastebin.com/sbzhK8YV
查看完整描述

1 回答

?
呼如林

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

當(dāng)您編寫 時(shí)db, err := gorm.Open("sqlite3", "gorm.db"),您本質(zhì)上是在聲明一個(gè)“新”局部變量,它隱藏了全局“db”。

因此,所使用的“db”變量db.Find(&effects)從未實(shí)際初始化。

為了給您提供更多背景信息,以防您開始使用 Go。這個(gè)運(yùn)行時(shí)錯(cuò)誤在邏輯上類似于C的分段錯(cuò)誤,或者Java的空指針異常。如果您使用的是 IDE,請確保以某種方式配置它,使其顯示警告(甚至錯(cuò)誤)等聲明。重新聲明具有相同名稱的變量幾乎從來都不是一個(gè)好主意。


查看完整回答
反對 回復(fù) 2023-07-26
  • 1 回答
  • 0 關(guān)注
  • 238 瀏覽

添加回答

舉報(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)