Golang中設(shè)置全局變量并在其他文件中使用
一、定義全局變量
在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ù)之外聲明,以使其成為包級別的變量
- 在要使用該全局變量的文件中,導(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-12
golang實(shí)現(xiàn)微信支付v3版本的方法
這篇文章主要介紹了golang實(shí)現(xiàn)微信支付v3版本的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
Golang構(gòu)建WebSocket服務(wù)器和客戶端的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何使用Go語言構(gòu)建WebSocket服務(wù)器和客戶端,以實(shí)現(xiàn)雙向通信,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考一下2023-11-11
golang?gorm框架數(shù)據(jù)庫的連接操作示例
這篇文章主要為大家介紹了golang?gorm框架數(shù)據(jù)庫操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04
golang控制結(jié)構(gòu)select機(jī)制及使用示例詳解
這篇文章主要介紹了golang控制結(jié)構(gòu)select機(jī)制及使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10

