报告使用 fmt.Sprintf("%s:%d", host, port)fmt.Sprintf("%s:%s", host, port) 构建的地址。

对于 IPv6 主机,这种模式会中断,因为 IPv6 地址必须用中括号括起来,如 [host]:portnet.JoinHostPort 会为 IPv4 和 IPv6 正确设置地址格式。

示例:


addr := fmt.Sprintf("%s:%d", host, port)
return net.Dial("tcp", addr)

要修正代码,请使用替换为 net.JoinHostPort 快速修复。

在应用快速修复后:


addr := net.JoinHostPort(host, fmt.Sprintf("%d", port))
return net.Dial("tcp", addr)