1 回答

TA貢獻1921條經驗 獲得超9個贊
我不完全確定你想做什么,但據我了解,你想確保第二個文件中的函數可以從第一個文件中的函數訪問地圖,對嗎?
為簡單起見,我將fn1稱為文件 1中的函數,并將fn2 稱為文件 2中的函數。
它們不在不同的文件中這一事實應該不會影響任何東西,只要它們可以相互訪問即可。一種替代方法是在父函數(調用fn1和fn2的函數)中聲明您的映射,然后將此映射作為兩個函數的參數傳遞。例如:
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調用,您可以在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可以存在于單獨的或相同的文件中。
- 1 回答
- 0 關注
- 127 瀏覽
添加回答
舉報