util.go
func hostname(hostport string) string {
	colon := strings.IndexByte(hostport, ':')
	if colon == -1 {
		return hostport
	}
	if i := strings.IndexByte(hostport, ']'); i != -1 {
		return strings.TrimPrefix(hostport[:i], "[")
	}
	return hostport[:colon]
}
func hostname(hostport string) string {
	colon := strings.IndexByte(hostport, ':')
	if colon == -1 {
		return hostport
	}
	if i := strings.IndexByte(hostport, ']'); i != -1 {
		return strings.TrimPrefix(hostport[:i], "[")
	}
	return hostport[:colon]
}
func hostname ( hostport string ) string { colon := strings . IndexByte ( hostport , ':' ) if colon == - 1 { return hostport } if i := strings . IndexByte ( hostport , ']' ) ; i != - 1 { return strings . TrimPrefix ( hostport [ : i ] , " " ) } return hostport [ : colon ] }
// contains code taken from go1.8, for purposes of backwards compatability with
// older go versions.
// hostname returns u.Host, without any port number.
//
// If Host is an IPv6 literal with a port number, Hostname returns the
// IPv6 literal without the square brackets. IPv6 literals may include
// a zone identifier.
contains code taken from go1 . 8 for purposes of backwards compatability with older go versions . hostname returns u . Host without any port number . If Host is an IPv6 literal with a port number Hostname returns the IPv6 literal without the square brackets . IPv6 literals may include a zone identifier .