package main import ( "log" "net" "net/url" ) func main() { // See http://tools.ietf.org/html/rfc6874. // It took a decade, but we've fianlly landed! loc, err := url.Parse("http://[fe80::1%25em0]:5963/") if err != nil { log.Fatal("url.Parse: ", err) } host, port, err := net.SplitHostPort(loc.Host) if err != nil { log.Fatal("net.SplitHostPort: ", err) } log.Println(host, port) addr, err := net.ResolveTCPAddr("tcp", loc.Host) if err != nil { log.Fatal("net.ResolveTCPAddr: ", err) } log.Println(addr.IP, addr.Port, addr.Zone) }