亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Go語(yǔ)言拼接URL路徑的三種方法

 更新時(shí)間:2023年03月07日 10:56:43   作者:小龍?jiān)谏綎|  
本文主要介紹了Go語(yǔ)言拼接URL路徑的三種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

Go語(yǔ)言拼接URL路徑有多種方法建議用ResolveReference。

JoinPath

JoinPath會(huì)把多個(gè)多個(gè)路徑合并成一個(gè)路徑,并且處理../和./,多個(gè)//合并成單個(gè)/。

package main

import (
?? ?"fmt"
?? ?"net/url"
)

func main() {
?? ?u1 := "http://example.com/directory/"
?? ?u2 := "../../..//search?q=dotnet"
?? ?u3 := "/dir1/dir2/search?q=dotnet"

?? ?j1, _ := url.JoinPath(u1, u2)
?? ?j2, _ := url.JoinPath(u1, u3)
?? ?fmt.Println(j1)
?? ?// http://example.com/search%3Fq=dotnet
?? ?fmt.Println(j2)
?? ?// http://example.com/directory/dir1/dir2/search%3Fq=dotnet
}

ResolveReference

ResolveReference會(huì)處理絕對(duì)路徑和相對(duì)路徑。

package main

import (
?? ?"fmt"
?? ?"log"
?? ?"net/url"
)

func main() {
?? ?u1, _ := url.Parse("../../..//search?q=dotnet")
?? ?u2, _ := url.Parse("/dir1/dir2/search?q=dotnet")
?? ?base, err := url.Parse("http://example.com/directory/")
?? ?if err != nil {
?? ??? ?log.Fatal(err)
?? ?}
?? ?fmt.Println(base.ResolveReference(u1))
?? ?// http://example.com/search?q=dotnet
?? ?fmt.Println(base.ResolveReference(u2))
?? ?// http://example.com/dir1/dir2/search?q=dotnet
}

path.Join

path主要是對(duì)斜杠放個(gè)的路徑。

package main

import (
?? ?"fmt"
?? ?"log"
?? ?"net/url"
?? ?"path"
)

func main() {
?? ?u, err := url.Parse("http://example.com/test/")
?? ?if err != nil {
?? ??? ?log.Fatal(err)
?? ?}
?? ?u.Path = path.Join(u.Path, "../bar.html")
?? ?s := u.String()
?? ?fmt.Println(s) // http://example.com/bar.html

}

參考

https://pkg.go.dev/net/url@go1.19beta1#JoinPath
http://doc.golang.ltd/pkg/net_url.htm

到此這篇關(guān)于Go語(yǔ)言拼接URL路徑的三種方法的文章就介紹到這了,更多相關(guān)Go語(yǔ)言拼接URL路徑內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解如何使用Go語(yǔ)言進(jìn)行文件監(jiān)控和通知

    詳解如何使用Go語(yǔ)言進(jìn)行文件監(jiān)控和通知

    在Go語(yǔ)言中,文件監(jiān)控通常涉及到文件系統(tǒng)事件的監(jiān)聽(tīng),文件或目錄的狀態(tài)發(fā)生變化(如創(chuàng)建、刪除、修改等)時(shí),你的程序需要得到通知,所以本文給大家介紹了如何使用Go語(yǔ)言進(jìn)行文件監(jiān)控和通知,需要的朋友可以參考下
    2024-06-06
  • go解析svn log生成的xml格式的文件

    go解析svn log生成的xml格式的文件

    這篇文章主要介紹了go解析svn log生成的xml格式的文件的方法,非常的實(shí)用,有需要的小伙伴可以參考下。
    2015-04-04
  • go中的unsafe包及使用詳解

    go中的unsafe包及使用詳解

    Unsafe code是一種繞過(guò)go類型安全和內(nèi)存安全檢查的Go代碼。這篇文章主要介紹了go中的unsafe包,需要的朋友可以參考下
    2019-07-07
  • Go分布式鏈路追蹤實(shí)戰(zhàn)探索

    Go分布式鏈路追蹤實(shí)戰(zhàn)探索

    這篇文章主要為大家介紹了Go分布式鏈路追蹤實(shí)戰(zhàn)示例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 深度解密 Go 語(yǔ)言中的 sync.map

    深度解密 Go 語(yǔ)言中的 sync.map

    這篇文章主要介紹了深度解密 Go 語(yǔ)言中的 sync.map,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • 解決go獲取文件md5值不正確的問(wèn)題

    解決go獲取文件md5值不正確的問(wèn)題

    本文主要介紹了解決go獲取文件md5值不正確的問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • 一文帶你理解Go語(yǔ)言中方法的本質(zhì)

    一文帶你理解Go語(yǔ)言中方法的本質(zhì)

    我們知道,Go語(yǔ)言從設(shè)計(jì)伊始,就不支持經(jīng)典的面向?qū)ο笳Z(yǔ)法元素,但?Go?語(yǔ)言仍保留了名為“方法(method)”的語(yǔ)法元素,下面我們就來(lái)帶大家深入了解一下Go語(yǔ)言中的方法吧
    2023-11-11
  • golang通過(guò)http訪問(wèn)外部網(wǎng)址的操作方法

    golang通過(guò)http訪問(wèn)外部網(wǎng)址的操作方法

    這篇文章主要介紹了golang通過(guò)http訪問(wèn)外部網(wǎng)址的操作方法,分為?get方式訪問(wèn)外部的接口,Post方式請(qǐng)求外部接口,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2024-02-02
  • go local history本地歷史恢復(fù)代碼神器

    go local history本地歷史恢復(fù)代碼神器

    這篇文章主要為大家介紹了go local history本地歷史恢復(fù)代碼神器的使用功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Go語(yǔ)言實(shí)現(xiàn)新春祝福二維碼的生成

    Go語(yǔ)言實(shí)現(xiàn)新春祝福二維碼的生成

    二維碼現(xiàn)在是隨處度可以看到,買東西,支付,添加好友只要你掃一掃就能完成整個(gè)工作,簡(jiǎn)單且方便。所以利用這個(gè)新春佳節(jié)做一個(gè)帶著新春祝福的二維碼吧
    2023-02-02

最新評(píng)論