Resolving local IP addresses
This recipe explains how to retrieve IP addresses from available local interfaces.
How to do it...
- Open the console and create the folder
chapter07/recipe01. - Navigate to the directory.
- Create the
interfaces.gofile with the following content:
package main
import (
"fmt"
"net"
)
func main() {
// Get all network interfaces
interfaces, err := net.Interfaces()
if err != nil {
panic(err)
}
for _, interf := range interfaces {
// Resolve addresses
// for each interface
addrs, err := interf.Addrs()
if err != nil {
panic(err)
}
fmt.Println(interf.Name)
for _, add := range addrs {
if ip, ok := add.(*net.IPNet); ok {
fmt.Printf("\t%v\n", ip)
}
}
}
}- Execute the code by running
go run interfaces...