go - 获取一个随机可用的端口号
代码如下
//获取一个可用的端口号,这样就无需指定要运行服务的端口号,也不用考虑哪些端口号还可以分配给服务
func GetFreePort() (int, error) {
addr, err := net.ResolveTCPAddr("tcp", "localhost:0")
if err != nil {
return 0, err
}
l, err := net.ListenTCP("tcp", addr)
if err != nil {
return 0, err
}
defer l.Close()
return l.Addr().(*net.TCPAddr).Port, nil
}
func main() {
port, _ := GetFreePort()
fmt.Println(port)
}

浙公网安备 33010602011771号