1 回答

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
我不完全確定你想做什么,但據(jù)我了解,你想確保第二個(gè)文件中的函數(shù)可以從第一個(gè)文件中的函數(shù)訪問地圖,對(duì)嗎?
為簡(jiǎn)單起見,我將fn1稱為文件 1中的函數(shù),并將fn2 稱為文件 2中的函數(shù)。
它們不在不同的文件中這一事實(shí)應(yīng)該不會(huì)影響任何東西,只要它們可以相互訪問即可。一種替代方法是在父函數(shù)(調(diào)用fn1和fn2的函數(shù))中聲明您的映射,然后將此映射作為兩個(gè)函數(shù)的參數(shù)傳遞。例如:
func fn1(sessionMap map[int]int) {
for i := 1; i < 10000; i++ {
// do some work here
sessionMap[i] = i
}
}
func fn2(sessionMap map[int]int) {
for i := 1; i < 10000; i++ {
fmt.Println(sessionMap[i])
}
}
func main() {
sessionMap := make(map[int]int)
fn1(sessionMap)
fn2(sessionMap)
}
但是,如果fn2被fn1調(diào)用,您可以在fn1中聲明映射并將其傳遞給fn2,如下所示:
func fn1() {
sessionMap := make(map[int]int)
for i := 1; i < 10000; i++ {
// do some work here
sessionMap[i] = i
}
fn2(sessionMap)
}
func fn2(sessionMap map[int]int) {
for i := 1; i < 10000; i++ {
fmt.Println(sessionMap[i])
}
}
func main() {
fn1()
}
fn1和fn2可以存在于單獨(dú)的或相同的文件中。
- 1 回答
- 0 關(guān)注
- 125 瀏覽
添加回答
舉報(bào)