【发布时间】:2014-08-30 23:05:04
【问题描述】:
我正在使用带有 go 语言的 revel 框架。最近,当我运行以下代码时:
import (
...
"net/url"
...
)
revel.INFO.Println(url.QueryEscape("http://hello.com"))
我明白了
INFO 2014/07/09 14:58:34 user.go:39: http%A(MISSING)%F(MISSING)%F(MISSING)hello.com
当我期望得到更像的东西时
INFO 2014/07/09 14:58:34 user.go:39: http%3A%2F%2Fhello.com
为什么%3A 在输出中被%A(MISSING) 替换了,我该如何解决?
我看到的唯一可能产生字符串“(MISSING)”的代码在fmt包中,但通过查看net/url源代码包,我看不出这是怎么回事正在发生。我是否可能以某种方式访问了 go 库的旧(和损坏?)版本?我的设置可能还有其他问题吗?
相关Go源码:http://golang.org/src/pkg/net/url/url.go?s=14330:14361#L553
【问题讨论】:
-
看来 revel 坏了,正在使用 Printf...
-
我什至没有想到。哇。我坐在这里重新安装所有东西,感觉很愚蠢。 :-P