doulan9188 2012-09-25 15:36
浏览 76
已采纳

为什么http.Header中的切片长度返回0?

From the source code of net/http. The definition of http.Header is map[string][]string. Right?

But why go run below code, I get the result:

0

2

func main() {
    var header = make(http.Header)
    header.Add("hello", "world")
    header.Add("hello", "anotherworld")
    var t = []string {"a", "b"}
    fmt.Printf("%d
", len(header["hello"]))
    fmt.Print(len(t))
}
  • 写回答

2条回答 默认 最新

  • dsh8009271 2012-09-25 15:55
    关注

    if you try

    fmt.Println(header)
    

    you'll notice that the key has been capitalized. This is actually noted in the documentation of net/http.

    // HTTP defines that header names are case-insensitive.
    // The request parser implements this by canonicalizing the
    // name, making the first character and any characters
    // following a hyphen uppercase and the rest lowercase.
    

    This can be found in the comment on the field Header of type Request.

    http://golang.org/pkg/net/http/#Request

    Comment should probably be moved though..

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?