获取form的中的值的问题

来源:2-4 编码实战:实现单个文件查询信息接口

拧壶冲

2020-10-21

Form返回的是一个url.Values的结构,其实是hash,hash中每个value是一个string的slice,使用当我们使用r.Form[“filehash”]获得的其实是一个slice,对吧。使用需要拿第一个。

r.Form["filehash"][0]

但是我看到Form有方法Get(),可以返回一个string。使用我想这里使用

r.Form.Get("filehash")

这样会更好?

写回答

1回答

xiaomo

2020-10-22

同学你好,这两种方法原理其实是一样的,Get方法多一些判断,内部源码可以参考一下:

func (v Values) Get(key string) string {
if v == nil {
return ""
}
vs := v[key]
if len(vs) == 0 {
return ""
}
return vs[0]
}
0
0

Go实战仿百度云盘-实现企业级分布式云存储系统

紧随“云时代”技术潮流,分布式云存储系统,做第一代云程序员

1077 学习 · 494 问题

查看课程