getFreePort.go
package mainimport ("log""net")// 取得一个未被占用的随机端口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()log.Println(port)}
