欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Golang中設(shè)置全局變量并在其他文件中使用

 更新時(shí)間:2024年01月07日 11:39:36   作者:小小平不平凡  
全局變量是被整個(gè)程序都可見(jiàn)的變量,通常用于存儲(chǔ)程序中需要共享的數(shù)據(jù),本文就來(lái)介紹一下Golang中設(shè)置全局變量并在其他文件中使用的方法,感興趣的可以了解一下

一、定義全局變量

在Go語(yǔ)言中,全局變量的定義方法很簡(jiǎn)單。你只需要在函數(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ù)之外聲明,以使其成為包級(jí)別的變量
  • 在要使用該全局變量的文件中,導(dǎo)入包含全局變量的包
  • 在使用全局變量的文件中,可以直接訪問(wèn)該全局變量

注意事項(xiàng):在Go語(yǔ)言中,當(dāng)你使用var關(guān)鍵字定義全局變量時(shí),如果不使用make函數(shù)來(lái)初始化該變量,它將被賦予零值。對(duì)于數(shù)值類型,零值是0;對(duì)于字符串類型,零值是空字符串;對(duì)于指針類型,零值是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è)置全局變量?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

最新評(píng)論