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

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

如何訪問全局變量

如何訪問全局變量

Go
一只斗牛犬 2021-12-07 16:13:54
如何訪問在不同 .go 包/文件中的 main.go 中聲明/初始化的變量?一直告訴我變量未定義(我知道全局變量不好,但這只是用作時間戳)在 main.govar StartTime = time.Now()func main(){...}嘗試在不同的 .go 文件中訪問 StartTime 但一直未定義 StartTime
查看完整描述

3 回答

?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

我會“注入” starttime 變量,否則包之間會有循環依賴。


main.go


var StartTime = time.Now()

func main() {

   otherPackage.StartTime = StartTime

}

其他包.go


var StartTime time.Time


查看完整回答
反對 回復 2021-12-07
?
手掌心

TA貢獻1942條經驗 獲得超3個贊

我創建了一個dif.go包含您的代碼的文件:


package dif


import (

    "time"

)


var StartTime = time.Now()

在我創建的文件夾外,沒問題main.go!


package main


import (

    dif "./dif"

    "fmt"

)


func main() {

    fmt.Println(dif.StartTime)

}

輸出:


2016-01-27 21:56:47.729019925 +0800 CST

文件目錄結構:


folder

  main.go

  dif

    dif.go

有用!


查看完整回答
反對 回復 2021-12-07
?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

我建議使用常用的導入方式。


首先我將解釋它稱為“相對導入”的方式,也許這種方式會導致一些錯誤


其次,我將解釋常見的導入方式。


第一的:


在 go version >= 1.12 中,有一些關于導入文件的新提示和一些變化。


1-您應該將文件放在另一個文件夾中,例如我在“model”文件夾中創建了一個文件,文件名為“example.go”


2- 導入文件時必須使用大寫!


3- 將大寫用于要導入其他文件的變量、結構和函數


注意:無法將 main.go 導入到另一個文件中。


文件目錄為:


root

|_____main.go

|_____model

          |_____example.go

這是一個example.go:


package model


import (

    "time"

)


var StartTime = time.Now()

這是 main.go 當你想導入一個文件時你應該使用大寫?!癕od”以大寫開頭


package main


import (

    Mod "./model"

    "fmt"

)


func main() {

    fmt.Println(Mod.StartTime)

}

筆記?。?!


注意:我不推薦這種類型的導入!


第二:


(正常進口)


導入文件的更好方法是:


你的結構應該是這樣的:


root

|_____github.com

         |_________Your-account-name-in-github

         |                |__________Your-project-name

         |                                |________main.go

         |                                |________handlers

         |                                |________models

         |               

         |_________gorilla

                         |__________sessions


這是一個例子:


package main


import (

    "github.com/gorilla/sessions"

)


func main(){

     //you can use sessions here

}

所以你可以在任何你想要的地方導入“github.com/gorilla/sessions”......只需導入它。


查看完整回答
反對 回復 2021-12-07
  • 3 回答
  • 0 關注
  • 259 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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