英文:
Golang net.ListenTCP Structure
问题
Golang函数net.ListenTCP的定义如下:
func ListenTCP(net string, laddr *TCPAddr)
它接受一个字符串参数,表示使用的TCP类型/版本,然后是一个TCPAddr结构体,用于定义要绑定的IP地址、使用的端口等信息。
然而,我经常看到这个函数被这样使用:
net.ListenTCP("tcp", ":8080")
如果第二个参数需要一个TCPAddr结构体/对象,为什么传递一个字符串也能工作呢?
英文:
The definition for the Golang function net.ListenTCP is:
func ListenTCP(net string, laddr *TCPAddr)
So it takes a string which is the type / version of TCP being used, and then a TCPAddr struct, which defines things like IP address to bind to, port to use etc.
However, I often see this function used like this:
net.ListenTCP("tcp", ":8080")
If the second parameter is looking for a TCPAddr struct / object, why does passing it a string work?
答案1
得分: 5
你正在将net.ListenTCP
和net.Listen
混淆。
func ListenTCP(net string, laddr *TCPAddr) (*TCPListener, error)
与
func Listen(net, laddr string) (Listener, error)
英文:
You are confusing net.ListenTCP
with net.Listen
.
func ListenTCP(net string, laddr *TCPAddr) (*TCPListener, error)
vs
func Listen(net, laddr string) (Listener, error)
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论