Skip to content

Instantly share code, notes, and snippets.

@wonderflow
Created October 31, 2017 02:16
Show Gist options
  • Save wonderflow/07eb33b470e688cf05b04b774e0768c0 to your computer and use it in GitHub Desktop.
Save wonderflow/07eb33b470e688cf05b04b774e0768c0 to your computer and use it in GitHub Desktop.
getlocalIP
func GetLocalIP() (string, error) {
addrs, err := net.InterfaceAddrs()
if err != nil {
return "127.0.0.1", fmt.Errorf("Get local IP error: %v\n", err)
}
for _, address := range addrs {
// check the address type and if it is not a loopback the display it
if ipnet, ok := address.(*net.IPNet); ok && !ipnet.IP.IsLoopback() {
if ipnet.IP.To4() != nil {
return ipnet.IP.String(), nil
}
}
}
return "127.0.0.1", errors.New("no local IP found")
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment