[go] - go 언어에서의 URL 관련 패키지

Go 언어는 URL을 다루기 위한 표준 라이브러리인 net/url을 제공합니다. 이 패키지를 사용하면 URL을 파싱하고 조작할 수 있으며, 웹 애플리케이션 및 웹 서비스를 개발할 때 유용하게 활용할 수 있습니다.

URL 파싱

net/url 패키지는 URL을 파싱하여 여러 구성 요소로 분해하는 기능을 제공합니다. 이를 통해 URL의 scheme, host, path, query 등의 구성 요소를 쉽게 가져올 수 있습니다. 아래는 간단한 예제 코드입니다.

package main

import (
	"fmt"
	"net/url"
)

func main() {
	rawURL := "https://www.example.com:8080/path?query=123"
	parsedURL, err := url.Parse(rawURL)
	if err != nil {
		panic(err)
	}
	fmt.Println("Scheme:", parsedURL.Scheme)
	fmt.Println("Host:", parsedURL.Host)
	fmt.Println("Path:", parsedURL.Path)
	fmt.Println("Query:", parsedURL.Query().Get("query"))
}

URL 조작

또한 net/url 패키지를 사용하면 URL을 조작하는 기능도 제공됩니다. 예를 들어, 새로운 경로나 쿼리 파라미터를 추가하거나 기존 값을 변경할 수 있습니다.

func manipulateURL() {
	rawURL := "https://www.example.com"
	parsedURL, _ := url.Parse(rawURL)
	parsedURL.Path = "/newpath"
	queryParams := url.Values{}
	queryParams.Set("key", "value")
	parsedURL.RawQuery = queryParams.Encode()
	fmt.Println(parsedURL.String())
}

마무리

net/url 패키지를 통해 Go 언어에서 URL을 파싱하고 조작할 수 있습니다. 이를 활용하여 웹 애플리케이션을 개발하거나 API 요청을 보낼 때 편리하게 URL을 다룰 수 있습니다.

더 자세한 내용은 공식 문서에서 확인할 수 있습니다.