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

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

即使在初始化后變量也為零

即使在初始化后變量也為零

Go
手掌心 2023-08-21 14:57:48
這是代碼 config/config.goconst PROJECT_ID = "projectid"var Ctx = context.Background()var DSClient *datastore.Clienttype Logger struct {    Pkg string}func (l *Logger) Error(v ...interface{}) {    log.Print("Error|", l.Pkg, ": ", v)}func (l *Logger) Info(v ...interface{}) {    log.Print("Info|", l.Pkg, ": ", v)}var propFile = "${env}.properties"var Props *properties.Propertiesfunc init(){    Props = properties.MustLoadFile(propFile, properties.UTF8)    DSClient, err := datastore.NewClient(Ctx, PROJECT_ID)    if err != nil {        log.Fatal("Couldn't connect to DataStore: ", err)    }    log.Print("DataStore Client: ", DSClient)}索引/index.go    import (    ...    "github.com/shwetanka19/project/internal/config")    urs := [] user.User{}    q := datastore.NewQuery("users").Filter("email=", greq.Email).Limit(1)    logger.Info("Now Client: ", config.DSClient)    keys, err := config.DSClient.GetAll(config.Ctx, q, &urs)日志DataStore Client: &{0xc000010840 0xc000119d40 projectid}[Now Client:  <nil>]為什么 Client 已經初始化了,現在卻是 nil 呢?API 調用期間會調用 index.go 中的代碼。而 config 在服務器啟動時被調用。
查看完整描述

1 回答

?
紫衣仙女

TA貢獻1839條經驗 獲得超15個贊

當你這樣做時

DSClient, err := datastore.NewClient(Ctx, PROJECT_ID)

您創建一個變量DSClient來隱藏另一個變量。您只需要將其更改為:

var err error
DSClient, err = datastore.NewClient(Ctx, PROJECT_ID)


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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