给出以下功能:
func CreateDB() (*xorm.Engine orm, error) {
}
我想在该函数中检测它是否像这样被调用:
_, err := CreateDB()
......或者像这样:
orm, err := CreateDB()
我想检查orm
变量,如果不需要,请关闭连接。这可能吗?
答案 0 :(得分:1)
你不能这样做,它也不是一个好的设计。您可以使用反射检查它所调用的函数,并查看该函数是否正在使用orm变量。
https://golang.org/pkg/runtime/#Caller
Go使用连接池,如果您担心打开连接,可以对每个连接使用超时。