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 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥15 复杂网络,变滞后传递熵,FDA
  • ¥20 csv格式数据集预处理及模型选择
  • ¥15 部分网页页面无法显示!
  • ¥15 怎样解决power bi 中设置管理聚合,详细信息表和详细信息列显示灰色,而不能选择相应的内容呢?
  • ¥15 QTOF MSE数据分析
  • ¥15 平板录音机录音问题解决