全面掌握 Go 语言:`net/url` 包的高效使用指南
package main
import (
"fmt"
"log"
"net/url"
)
func main() {
// 解析URL
u, err := url.Parse("https://example.com/path?query=123")
if err != nil {
log.Fatal(err)
}
fmt.Println("Scheme:", u.Scheme)
fmt.Println("Host:", u.Host)
fmt.Println("Path:", u.Path)
fmt.Println("Query:", u.RawQuery)
// 解析查询参数
params, err := url.ParseQuery(u.RawQuery)
if err != nil {
log.Fatal(err)
}
for k, v := range params {
fmt.Println("Key:", k)
fmt.Println("Value:", v)
}
}
这段代码展示了如何使用Go语言的net/url
包来解析URL以及获取其组成部分,并解析查询参数。它首先使用url.Parse
解析一个URL,然后通过访问Scheme
、Host
、Path
和RawQuery
字段来获取相应的部分,并使用url.ParseQuery
解析查询字符串。最后,它遍历解析后的查询参数并打印出来。
评论已关闭