为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 Golang URL lib 总是插入'://'?

为什么 Golang URL lib 总是插入'://'?

Go
饮歌长啸 2022-07-11 15:27:03
在 URL 中,权限应该是可选的,这意味着诸如此类的 URLmailto:John.Doe@example.com是有效的。在 Golang 1.15.2 中,如果使用net/url该类创建一个像上面这样的 URL,它似乎不允许在没有权限的情况下创建 URL。例如package mainimport (    "fmt"    "net/url")func main() {    var theURL = url.URL{}    theURL.Scheme = "mailto"    theURL.Path = "John.Doe@example.com"    fmt.Println(theURL.String()) // should be mailto:John.Doe@example.com, but is mailto://John.Doe@example.com}我在这里遗漏了什么或者这在技术上是一个错误吗?
查看完整描述

1 回答

?
一只名叫tom的猫

TA贡献1906条经验 获得超3个赞

使用theURL.Opaque而不是theURL.Path. 见 https://golang.org/pkg/net/url/#URL

方案后不以斜杠开头的 URL 被解释为:

scheme:opaque[?query][#fragment]

Go Playground 中的工作代码:https: //play.golang.org/p/TFATDQu4PHc


查看完整回答
反对 回复 2022-07-11
  • 1 回答
  • 0 关注
  • 81 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信