为什么port是字符串而不是整数?

时间:2017-12-27 12:47:06

标签: http go port

Port方法返回一个字符串而不是整数。这是什么原因,并且用“:”为端口添加前缀是否安全?

2 个答案:

答案 0 :(得分:143)

这是因为冒号后面显示的内容可以是端口号或服务名称。

以下是使用服务名称而不是端口号的有效示例:

listener, err := net.Listen("tcp", "localhost:https") // port 443
// ...

可以使用net.LookupPort查找特定服务的端口映射。在Unix系统上,/etc/services文件来源于映射。

答案 1 :(得分:1)

对于数字,默认值为0:如果是函数

 func (u * URL) Port () string

返回数字而不是sting端口将为0

端口0是TCP / IP网络中的保留端口,这意味着它不应在TCP或UDP消息中使用。但是,端口0在网络编程中具有特殊意义,特别是Unix套接字编程:用于请求系统分配的动态端口。

需要在多个函数中进行编程