Skip to main content

get dynamic free port

你是否经常遇到80端口、3000端口老被占用的情况;

每次手动改代码确实很麻烦

下面这个方法就可以动态的获取计算机上没有被占用的端口 在测试环境中解放我们的双手

package util

import (
"net"
)

//get dynamic free port
func GetDynamicFreePort() (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
}