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.go
file 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...