作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!
从 netpoll 库看到这段代码:
type connkey struct{}
var ctxkey connkey
func prepare(conn netpoll.Connection) context.Context {
mc := newSvrMuxConn(conn)
ctx := context.WithValue(context.Background(), ctxkey, mc) // 这个技巧很酷. 以前我都只知道写字符串
return ctx
}
func handle(ctx context.Context, conn netpoll.Connection) (err error) {
mc := ctx.Value(ctxkey).(*svrMuxConn)
//....
}
标签:key,netpoll,WithValue,ctx,context,ctxkey,conn
From: https://www.cnblogs.com/ahfuzhang/p/17736882.html