ip.go 438 B

12345678910111213141516171819202122232425
  1. package util
  2. import (
  3. "net"
  4. )
  5. // SplitIPPort splits the ip string and port.
  6. func SplitIPPort(ipStr string, portDefault string) (ip string, port string, err error) {
  7. ipAddr := net.ParseIP(ipStr)
  8. if ipAddr == nil {
  9. // Port was included
  10. ip, port, err = net.SplitHostPort(ipStr)
  11. if err != nil {
  12. return "", "", err
  13. }
  14. } else {
  15. // No port was included
  16. ip = ipAddr.String()
  17. port = portDefault
  18. }
  19. return ip, port, nil
  20. }