首页 > 其他分享 >go - 获取一个随机可用的端口号

go - 获取一个随机可用的端口号

时间:2023-02-22 16:48:22浏览次数:27  
标签:return nil err 随机 go GetFreePort 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()
fmt.Println(port)
}

标签:return,nil,err,随机,go,GetFreePort,net,端口号
From: https://www.cnblogs.com/lunar-huazai/p/17144861.html

相关文章

  • mongodb集群更新configserver数据
    configserver日志异常    查看副本集运行日志,发现连接configserver时候显示连接configserver连接拒绝         登录configserver节点  ......
  • Django文档--Model字段选项
    建立一个简易ModelclassPerson(models.Model):GENDER_CHOICES=((1,'Male'),(2,'Female'),)name=models.CharField(max_length=30......
  • golang 解析json数据
       packagemainimport(jsoniter"github.com/json-iterator/go")funcString2Bytes(datastring)[]byte{return[]byte(data)}funcmain(){......
  • Go Etcd
    官网:https://etcd.io/docs/v3.5/quickstart/https://github.com/etcd-io/etcdetcd是什么etcd是一种key-value存储,它侧重于保证集群环境中数据的一致性redis也是键......
  • 使用 gdb 工具调试 Go
    排除应用程序故障是比较复杂的,特别是处理像Go这样的高并发语言。它更容易在具体位置使用print打印语句来确定程序状态,但是 这个方法 很难根据条件发展去动态响应 你......
  • Django中获取用户IP方法
    Django中通过request.META可以来获取用户的IP。request.META是一个Python字典,包含了所有本次HTTP请求的Header信息,比如用户IP地址和用户Agent(通常是浏览器的名称和版本号......
  • 【Go】使用Go语言打造定时提醒小工具,从基础到优化全方位探索
    一、引言1.目的和背景本文和大家分享编程语言对于时间和日期的处理方式,以及代码的优化思路。2.选择GO语言的原因简单易学:GO语言的语法简单易学,这使得初学者能够快速上......
  • GO 管理微信公众号后台(wechat)
    2023-02-2209:57:10星期三目的微信公众号后台管理,实现简单的文本接收与信息回复。前提配置好微信服务器,并正常启动安装了golang安装了wechat包示例代码演示......
  • Django - 创建工程 和 APP 与 开发工具
    1.安装在这里使用的是Anaconda,直接使用Anaconda命令进行安装;(E:\Anaconda3)C:\Users\yuan>condainstalldjango//安装指定版本django(E:\Anaconda3)C:\Users\yuan>con......
  • go 关闭chan 广播信号
    packagemainimport( "fmt" "sync")funchello(num...int){ num[0]=18}funcmain(){ closeChan:=make(chanstruct{}) wg:=&sync.WaitGroup{} fo......