url-parsing: Use net.SplitHostPort

Use [net.SplitHostPort](https://godoc.org/net#SplitHostPort) instead of
strings.Split. This is the more correct way to split the host and port
as well as working with IPv6.
This commit is contained in:
Phil Kates 2015-02-12 13:19:06 -08:00
parent 80fa4e4f03
commit ea7797e10a

View File

@ -4,8 +4,8 @@
package main package main
import "fmt" import "fmt"
import "net"
import "net/url" import "net/url"
import "strings"
func main() { func main() {
@ -35,9 +35,9 @@ func main() {
// if present. `Split` the `Host` manually to extract // if present. `Split` the `Host` manually to extract
// the port. // the port.
fmt.Println(u.Host) fmt.Println(u.Host)
h := strings.Split(u.Host, ":") host, port, _ := net.SplitHostPort(u.Host)
fmt.Println(h[0]) fmt.Println(host)
fmt.Println(h[1]) fmt.Println(port)
// Here we extract the `path` and the fragment after // Here we extract the `path` and the fragment after
// the `#`. // the `#`.