[go] - net/url 패키지의 주요 기능

net/url 패키지는 URL(Uniform Resource Locator)을 파싱하고 관리하는 데 유용한 기능을 제공합니다. 이 패키지를 사용하면 URL의 각 구성 요소를 쉽게 추출하고 조작할 수 있습니다. 이번 글에서는 net/url 패키지의 주요 기능에 대해 알아보겠습니다.

URL 파싱

net/url 패키지의 Parse 함수를 사용하여 URL을 파싱할 수 있습니다. 아래는 간단한 예제 코드입니다.

package main

import (
	"fmt"
	"net/url"
)

func main() {
	u, err := url.Parse("https://www.example.com/path?foo=bar")
	if err != nil {
		panic(err)
	}

	fmt.Println("Scheme:", u.Scheme)
	fmt.Println("Host:", u.Host)
	fmt.Println("Path:", u.Path)
	fmt.Println("RawQuery:", u.RawQuery)
}

이 코드는 주어진 URL을 파싱하고 스키마, 호스트, 경로, 쿼리 등의 세부 정보를 출력합니다.

URL 조작

net/url 패키지는 URL의 구성 요소를 조작하는 데 유용한 기능을 제공합니다. 예를 들어, URL에 파라미터를 추가하거나 변경할 수 있습니다.

package main

import (
	"fmt"
	"net/url"
)

func main() {
	u, err := url.Parse("https://www.example.com")
	if err != nil {
		panic(err)
	}

	q := u.Query()
	q.Set("foo", "bar")
	u.RawQuery = q.Encode()

	fmt.Println(u.String())
}

이 예제 코드는 URL에 파라미터를 추가하는 방법을 보여줍니다.

결론

net/url 패키지는 URL을 파싱하고 조작하는 데 유용한 기능을 제공합니다. 이를 통해 웹 애플리케이션 개발이 더욱 효율적이고 안정적으로 이루어질 수 있습니다.

기본적인 net/url 패키지의 사용 방법에 대해 알아보았습니다. 더 많은 세부적인 기능에 대해서는 공식 문서를 참고하시기 바랍니다.