gpt4 book ai didi

Go: "instance"在此 block 中重新声明

转载 作者:IT王子 更新时间:2023-10-29 00:35:04 25 4
gpt4 key购买 nike

我有这两个文件:

daoFactory.go

package dao

import "sync"

type daoFactory struct {}

var instance *daoFactory

//some functions

fakeProvisionDao.go

package dao

import (
"sync"
"model"
)

type provisionDao struct {
}

var instance *provisionDao

//some functions

两者都在同一个包中:dao

我收到这个错误:

"instance" redeclared in this block

很明显,原因是 instance 变量在两个文件中都被声明了。我刚开始学习 Go 编程,我不知道该如何处理这个错误。

最佳答案

文件对于 go 没有实际意义,与 java、python 和许多其他语言不同,它们只是让您按照自己认为合适的方式组织代码。

在 go 中,变量在 package 范围内可见,这意味着 instance 的两个声明都是在包范围内可见的变量。因此,编译器会提示有两个同名的全局变量。

重命名两个实例变量中的任何一个,它将编译。

强烈推荐阅读上面评论中的链接 ;-)

关于Go: "instance"在此 block 中重新声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34344172/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com