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 @   lunar-华仔  阅读(144)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示