我将调用一个函数来使用go functionABC()
建立一个BOSH连接。
在函数中,我将通过发送ping信息来保持连接状态。所以,可能会有很多functionABC()
调用。那么现在,如果我想从函数中得到一些信息,我能不能通过函数ID或者进程ID来识别这个函数?Go有函数ID或进程ID来识别一个函数吗?
如果是,我如何与这个函数通信?如果没有,有没有其他的方法来实现它?
也许使用map
并从您的函数返回一个唯一的id/连接,并将其分配给地图,如下所示:
var counter uint64
func ReturnStuff() (uint64, net.Conn) {
return atomic.AddUint64(&counter, 1), nil
}
var m = map[uint64]net.Conn{}
func main() {
for i := 0; i < 10; i++ {
id, conn := ReturnStuff()
m[id] = conn
}
fmt.Printf("%+v", m)
}