如何检测忽略的返回值

时间:2018-04-01 02:35:55

标签: go

给出以下功能:

func CreateDB() (*xorm.Engine orm, error) {

}

我想在该函数中检测它是否像这样被调用:

_, err := CreateDB()

......或者像这样:

orm, err := CreateDB()

我想检查orm变量,如果不需要,请关闭连接。这可能吗?

1 个答案:

答案 0 :(得分:1)

你不能这样做,它也不是一个好的设计。您可以使用反射检查它所调用的函数,并查看该函数是否正在使用orm变量。

https://golang.org/pkg/runtime/#Caller

Go使用连接池,如果您担心打开连接,可以对每个连接使用超时。