Golang函数net.ListenTCP的定义是:
func ListenTCP(net string, laddr *TCPAddr)
因此它需要一个字符串,它是正在使用的TCP的类型/版本,然后是一个TCPAddr结构,它定义了要绑定的IP地址,要使用的端口等等。
但是,我经常看到这个函数使用如下:
net.ListenTCP("tcp", ":8080")
如果第二个参数正在寻找TCPAddr结构/对象,为什么传递一个字符串呢?
答案 0 :(得分:5)
您将net.ListenTCP
与net.Listen
混淆。
func ListenTCP(net string, laddr *TCPAddr) (*TCPListener, error)
VS
func Listen(net, laddr string) (Listener, error)