[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을 다룰 수 있습니다.
더 자세한 내용은 공식 문서에서 확인할 수 있습니다.