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 关注
- 86 浏览
添加回答
举报