Golang中設(shè)置全局變量并在其他文件中使用
一、定義全局變量
在Go語言中,全局變量的定義方法很簡單。你只需要在函數(shù)之外定義變量,該變量就會(huì)成為全局變量
test/library/utils/init.go
package utils // 定義全局變量ServicePool var ServicePool = make(map[string]interface{}) func DemoMethod() { fmt.Println(ServicePool) }
二、在其他文件中使用init.go中定義的ServicePool全局變量
- 在包含全局變量的文件中,確保全局變量在函數(shù)之外聲明,以使其成為包級別的變量
- 在要使用該全局變量的文件中,導(dǎo)入包含全局變量的包
- 在使用全局變量的文件中,可以直接訪問該全局變量
注意事項(xiàng):在Go語言中,當(dāng)你使用var關(guān)鍵字定義全局變量時(shí),如果不使用make函數(shù)來初始化該變量,它將被賦予零值。對于數(shù)值類型,零值是0;對于字符串類型,零值是空字符串;對于指針類型,零值是nil
use.go
package test import ( "context" "encoding/json" "fmt" "io" "math/rand" "net/http" "strings" "time" "test/library/utils" ) func Test(ctx context.Context, w ghttp.Writer, req ghttp.Request) { fmt.Println("ctx:", ctx) fmt.Println("req:", req) fmt.Println("w:", w) name, ok := utils.ServicePool["name"] if !ok { name = "" } }
到此這篇關(guān)于Golang中設(shè)置全局變量并在其他文件中使用的方法的文章就介紹到這了,更多相關(guān)Golang設(shè)置全局變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go定時(shí)器的三種實(shí)現(xiàn)方式示例詳解
這篇文章主要為大家介紹了Go定時(shí)器的三種實(shí)現(xiàn)方式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12golang實(shí)現(xiàn)微信支付v3版本的方法
這篇文章主要介紹了golang實(shí)現(xiàn)微信支付v3版本的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03Golang構(gòu)建WebSocket服務(wù)器和客戶端的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何使用Go語言構(gòu)建WebSocket服務(wù)器和客戶端,以實(shí)現(xiàn)雙向通信,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考一下2023-11-11golang?gorm框架數(shù)據(jù)庫的連接操作示例
這篇文章主要為大家介紹了golang?gorm框架數(shù)據(jù)庫操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04golang控制結(jié)構(gòu)select機(jī)制及使用示例詳解
這篇文章主要介紹了golang控制結(jié)構(gòu)select機(jī)制及使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10