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

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

運行時錯誤:無效的內(nèi)存地址或零指針取消引用(2)

運行時錯誤:無效的內(nèi)存地址或零指針取消引用(2)

Go
一只斗牛犬 2023-06-12 14:36:49
我是Go的新手,需要幫助!在 PostgreSQL 數(shù)據(jù)庫中,我有一個名為factors. 此表有 2 列(factor_id和factor_name)?,F(xiàn)在我已經(jīng)成功地從 Go 應用程序連接到 PostgreSQL 數(shù)據(jù)庫。當我試圖在控制臺中發(fā)出基于查詢的 GET 請求時,我看到了錯誤。http://localhost:8000/api/factors/?limit=5&offset=1我哪里弄錯了?請幫我解決這個問題。控制器/factors.go:package controllersimport (    "encoding/json"    "fmt"    "net/http"    "restify/models"    "restify/utils")var GetFactors = func(res http.ResponseWriter, req *http.Request) {    data := models.Factors{}    err := models.GetFactors(&data, req.URL.Query().Get("limit"), req.URL.Query().Get("offset"))    if err != nil {        fmt.Println(err.Error())        http.Error(res, err.Error(), 500)        return    }    out, err := json.Marshal(data)    if err != nil {        fmt.Println(err.Error())        http.Error(res, err.Error(), 501)        return    }    resp := make(map[string]interface{})    resp["Dictionaries"] = string(out)    utils.Respond(res, resp)}
查看完整描述

1 回答

?
滄海一幻覺

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

似乎問題是在此處分配數(shù)據(jù)庫時:

DB, err := sql.Open("postgres", dbURL)

數(shù)據(jù)庫在新范圍內(nèi)定義,因此這會創(chuàng)建一個局部變量而不是設置 pkg 級變量。因此,代碼Open()建立了與數(shù)據(jù)庫的連接。

試試這個:

var err error
DB, err = sql.Open("postgres", dbURL)

這是官方報價:

與常規(guī)變量聲明不同,短變量聲明可以重新聲明變量,前提是它們最初是在同一塊(如果塊是函數(shù)體,則為參數(shù)列表)中較早聲明的,具有相同的類型,并且至少有一個非空變量是新的。因此,重新聲明只能出現(xiàn)在多變量簡短聲明中。重新聲明不會引入新變量;它只是為原始值分配了一個新值。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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