我可以有函数ID的每个函数被调用,并与它通信



我将调用一个函数来使用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)
}

最新更新