Golang中設置全局變量并在其他文件中使用
一、定義全局變量
在Go語言中,全局變量的定義方法很簡單。你只需要在函數(shù)之外定義變量,該變量就會成為全局變量
test/library/utils/init.go
package utils
// 定義全局變量ServicePool
var ServicePool = make(map[string]interface{})
func DemoMethod() {
fmt.Println(ServicePool)
}
二、在其他文件中使用init.go中定義的ServicePool全局變量
- 在包含全局變量的文件中,確保全局變量在函數(shù)之外聲明,以使其成為包級別的變量
- 在要使用該全局變量的文件中,導入包含全局變量的包
- 在使用全局變量的文件中,可以直接訪問該全局變量
注意事項:在Go語言中,當你使用var關鍵字定義全局變量時,如果不使用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 = ""
}
}到此這篇關于Golang中設置全局變量并在其他文件中使用的方法的文章就介紹到這了,更多相關Golang設置全局變量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
go 判斷兩個 slice/struct/map 是否相等的實例
這篇文章主要介紹了go 判斷兩個 slice/struct/map 是否相等的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
Go中的new()和make()函數(shù)區(qū)別及底層原理詳解
這篇文章主要為大家介紹了Go中的new()和make()函數(shù)區(qū)別及底層原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-09-09
一文帶你玩轉(zhuǎn)Golang Prometheus Eexporter開發(fā)
本文分兩大塊,一是搞清楚prometheus四種類型的指標Counter,Gauge,Histogram,Summary用golang語言如何構(gòu)造這4種類型對應的指標,二是搞清楚修改指標值的場景和方式,感興趣的可以了解一下2023-02-02
VScode下配置Go語言開發(fā)環(huán)境(2023最新)
在VSCode中配置Golang開發(fā)環(huán)境是非常簡單的,本文主要記錄了Go的安裝,以及給vscode配置Go的環(huán)境,具有一定的參考價值,感興趣的可以了解一下2023-10-10

