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)
}
posted @ 2023-02-22 16:31  lunar-华仔  阅读(187)  评论(0)    收藏  举报