golang怎么獲取進(jìn)程端口

小億
130
2024-01-25 10:46:06
欄目: 編程語言

在Go中,可以使用net包中的Listen()函數(shù)來獲取進(jìn)程監(jiān)聽的端口。下面是一個(gè)示例代碼:

package main

import (
	"fmt"
	"net"
)

func main() {
	listener, err := net.Listen("tcp", "127.0.0.1:0")
	if err != nil {
		fmt.Println("Failed to listen:", err)
		return
	}
	defer listener.Close()

	address := listener.Addr().(*net.TCPAddr)
	fmt.Println("Listening on port", address.Port)
}

在上面的代碼中,通過傳入127.0.0.1:0作為參數(shù)可以使操作系統(tǒng)為我們選擇一個(gè)閑置的端口來監(jiān)聽。然后,通過listener.Addr()方法可以獲取到實(shí)際監(jiān)聽的地址,再通過address.Port可以獲取到監(jiān)聽的端口號(hào)。

0