Golang 构建解析URL对象

在很多场景中,通过好用的工具操作URL对象比拼接字符串要方便的多。Go标准库提供了维护URL工具,本文通过示例介绍其主要功能。

请看示例:

package main

import (
	"encoding/json"
	"fmt"
	"net/url"
)

func main() {
	u := &url.URL{}
	u.Scheme = "http"
	u.Host = "localhost"
	u.Path = "index.html"
	u.RawQuery = "id=1&name=jack"
	u.User = url.UserPassword("admin", "admin123")

	fmt.Printf("\nAssembled URL: %v\n", u)

	parsedUrl, err := url.Parse(u.String())
	if err != nil {
		panic(err)
	}

	jsonUrl, err := json.Marshal(parsedUrl)
	if err != nil {
		panic(err)
	}

	fmt.Printf("Parsed URL: %s", string(jsonUrl))

}

运行结果为:

Assembled URL: http://admin:admin123@localhost/index.html?id=1&name=jack
Get Host localhost from URL Struct
Parsed URL: {"Scheme":"http","Opaque":"","User":{},"Host":"localhost","Path":"/index.html","RawPath":"","OmitHost":false,"ForceQu
ery":false,"RawQuery":"id=1\u0026name=jack","Fragment":"","RawFragment":""}
Process finished with the exit code 0


net/url包用于帮助维护和解析URL对象,URL结构包括必要字段,使用其String方法可以生成url的字符串形式。当需要在字符串形式的url中增加额外操作时,使用Parse函数把字符串转为URL结构类型,从而方便修改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值