Чтобы получить сетевой адрес в Go (Golang), вы можете использовать различные методы в зависимости от ваших конкретных требований. Вот несколько подходов и примеры кода:
Метод 1: использование сетевого пакета
package main
import (
"fmt"
"net"
)
func main() {
addrs, err := net.InterfaceAddrs()
if err != nil {
fmt.Println(err)
return
}
for _, addr := range addrs {
ipNet, ok := addr.(*net.IPNet)
if ok && !ipNet.IP.IsLoopback() {
if ipNet.IP.To4() != nil {
fmt.Println("Network Address:", ipNet.IP.Mask(ipNet.IP.DefaultMask()))
}
}
}
}
Метод 2: использование функции net.ParseCIDR
package main
import (
"fmt"
"net"
)
func main() {
ip := net.ParseIP("192.168.0.1")
mask := net.IPMask(net.ParseIP("255.255.255.0").To4())
network := ip.Mask(mask)
fmt.Println("Network Address:", network)
}
Метод 3. Извлечение сетевого адреса по заданному IP-адресу и маске подсети
package main
import (
"fmt"
"net"
)
func main() {
ip := net.ParseIP("192.168.0.1")
mask := net.IPMask(net.ParseIP("255.255.255.0").To4())
network := ip.Mask(mask)
fmt.Println("Network Address:", network)
}
Эти методы демонстрируют разные способы получения сетевого адреса в Go. Не забудьте настроить IP-адрес и маску подсети в соответствии с конфигурацией вашей конкретной сети.