Метод url.URL.String
Метод url.URL.String преобразует структуру типа url.URL
в строковое представление URL. Он возвращает строку,
содержащую полный URL, собранный из полей структуры:
схему, хост, путь, параметры запроса и фрагмент.
Метод автоматически экранирует специальные символы
в пути и параметрах запроса, обеспечивая корректное
форматирование URL.
Синтаксис
func (u *URL) String() string
Пример
Давайте создадим структуру URL и преобразуем ее в строку:
package main
import (
"fmt"
"net/url"
)
func main() {
u := &url.URL{
Scheme: "https",
Host: "example.com",
Path: "/path/to/resource",
RawQuery: "key=value&foo=bar",
Fragment: "section",
}
res := u.String()
fmt.Println(res)
}
Результат выполнения кода:
"https://example.com/path/to/resource?key=value&foo=bar#section"
Пример
Давайте преобразуем URL с использованием функции url.Parse:
package main
import (
"fmt"
"net/url"
)
func main() {
parsedURL, err := url.Parse("https://example.com:8080/api/v1?limit=10&offset=0")
if err != nil {
fmt.Println(err)
return
}
res := parsedURL.String()
fmt.Println(res)
}
Результат выполнения кода:
"https://example.com:8080/api/v1?limit=10&offset=0"
Пример
Давайте изменим путь и параметры запроса URL:
package main
import (
"fmt"
"net/url"
)
func main() {
u := &url.URL{
Scheme: "http",
Host: "localhost:3000",
Path: "/users",
}
q := u.Query()
q.Set("id", "123")
q.Add("sort", "asc")
u.RawQuery = q.Encode()
res := u.String()
fmt.Println(res)
}
Результат выполнения кода:
"http://localhost:3000/users?id=123&sort=asc"
Смотрите также
-
метод
url.URL.Query,
который возвращает параметры запроса URL -
метод
url.URL.RequestURI,
который возвращает путь и параметры запроса -
функцию
url.Parse,
которая преобразует строку в структуру URL -
функцию
url.Values.Encode,
которая кодирует параметры запроса