- url.Parse と path.Join を使う
- path.Join だけだと正しく結合できない場合がある1
- 実行結果の
https:/golang.org/pkg/net/url
のようにスラッシュが削除される
サンプルコード
package main
import (
"fmt"
"net/url"
"path"
)
const (
srcURL = "https://golang.org/pkg/"
path1 = "net"
path2 = "url"
)
func main() {
fmt.Printf("path.Join だけで結合: %s\n", path.Join(srcURL, path1, path2))
u, err := url.Parse(srcURL)
if err != nil {
panic(err)
}
u.Path = path.Join(u.Path, path1, path2)
fmt.Printf("url.Parse と path.Join で結合: %s\n", u)
}
実行結果
path.Join だけで結合: https:/golang.org/pkg/net/url
url.Parse と path.Join で結合: https://golang.org/pkg/net/url
参考にさせていただいたサイト