当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


GO URL.String用法及代码示例


GO语言"net/url"包中"URL.String"类型的用法及代码示例。

用法:

func(u *URL) String() string

String 将 URL 重新组合成一个有效的 URL 字符串。结果的一般形式是以下之一:

scheme:opaque?query#fragment
scheme://userinfo@host/path?query#fragment

如果 u.Opaque 非空,String 使用第一种形式;否则它使用第二种形式。主机中的任何非 ASCII 字符都会被转义。为了获取路径,String 使用 u.EscapedPath()。

在第二种形式中,以下规则适用:

- if u.Scheme is empty, scheme: is omitted.
- if u.User is nil, userinfo@ is omitted.
- if u.Host is empty, host/ is omitted.
- if u.Scheme and u.Host are empty and u.User is nil,
   the entire scheme://userinfo@host/ is omitted.
- if u.Host is non-empty and u.Path begins with a /,
   the form host/path does not add its own /.
- if u.RawQuery is empty, ?query is omitted.
- if u.Fragment is empty, #fragment is omitted.

例子:

package main

import (
	"fmt"
	"net/url"
)

func main() {
	u := &url.URL{
		Scheme:   "https",
		User:     url.UserPassword("me", "pass"),
		Host:     "example.com",
		Path:     "foo/bar",
		RawQuery: "x=1&y=2",
		Fragment: "anchor",
	}
	fmt.Println(u.String())
	u.Opaque = "opaque"
	fmt.Println(u.String())
}

输出:

https://me:pass@example.com/foo/bar?x=1&y=2#anchor
https:opaque?x=1&y=2#anchor

相关用法


注:本文由纯净天空筛选整理自golang.google.cn大神的英文原创作品 URL.String。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。