和有什么区别
ln, err := net.Listen("tcp", addr)
if err != nil {
return err
}
go srv.Serve(ln)
和
ln, err := net.Listen("tcp", addr)
if err != nil {
return err
}
return srv.Serve(tcpKeepAliveListener{ln.(*net.TCPListener)})
?
我正在创建自己的 ListenAndServe(第一个代码片段),以便在调用 ListenAndServe 后立即执行代码并向服务器发送请求。但是,我不能使用 tcpKeepAliveListener,因为它没有被导出。srv.Serve(ln) 也可以,但如果我采用第一种方式,我不知道我是否遗漏了一些东西。