Golang獲取本地IP地址方法分享
更新時間:2023年07月26日 08:46:52 作者:路多辛
這篇文章主要給大家介紹了Golang 獲取本地 IP 地址方法,文中有詳細的代碼示例,對我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
在 Golang 中,使用 net 包可以很方便地獲取到本機IP地址。
借助 net.InterfaceAddrs 方法
簡單示例代碼如下:
package main import ( "fmt" "net" ) func main() { addrList, err := net.InterfaceAddrs() if err != nil { panic(err) } for _, address := range addrList { if ipNet, ok := address.(*net.IPNet); ok && !ipNet.IP.IsLoopback() { if ipNet.IP.To4() != nil { fmt.Println(ipNet.IP.String()) } } } }
借助 net.Dial 方法
使用 udp 不需要關(guān)注是否送達,只需要對應(yīng)的 ip 和 port 正確,即可獲取到 IP 地址。簡單示例代碼如下:
package main import ( "fmt" "net" "strings" ) func main() { conn, err := net.Dial("udp", "8.8.8.8:53") if err != nil { panic(err) } addr := conn.LocalAddr().(*net.UDPAddr) ip := strings.Split(addr.String(), ":")[0] fmt.Println(ip) }
到此這篇關(guān)于Golang獲取本地IP地址方法分享的文章就介紹到這了,更多相關(guān)Golang獲取本地IP內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解golang中?work與?module?的區(qū)別與聯(lián)系
Go?模塊通常由一個項目或庫組成,并包含一組隨后一起發(fā)布的?Go?包,Go?模塊通過允許用戶將項目代碼放在他們選擇的目錄中并為每個模塊指定依賴項的版本,解決了原始系統(tǒng)的許多問題,本文將給大家介紹一下golang中?work與?module?的區(qū)別與聯(lián)系,需要的朋友可以參考下2023-09-09Golang?實現(xiàn)Redis?協(xié)議解析器的解決方案
這篇文章主要介紹了Golang???實現(xiàn)?Redis?協(xié)議解析器,本文將分別介紹Redis 通信協(xié)議 以及 協(xié)議解析器 的實現(xiàn),若您對協(xié)議有所了解可以直接閱讀協(xié)議解析器部分,需要的朋友可以參考下2022-10-10