分享
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。
在学习 go web编程那本书的时候,里面有一段,是判断用户复选框是否合法,采用以下代码
slice:=[]string{"football","basketball","tennis"}
a:=Slice_diff(r.Form["interest"],slice)
if a == nil{
return true
}
return false
我用的时候,发现Slice_diff 不是标准函数,好像是第三方的,于是我也建个包,把这个函数弄过来:
func Slice_diff(slice1, slice2 []interface{}) (diffslice []interface{}) {
for _, v := range slice1 {
if !In_slice(v, slice2) {
diffslice = append(diffslice, v)
}
}
return
}
然后,我就加入自己代码
//复选框验证
slice2 := []string{"football", "basketball", "tennis"}
a := beeku.Slice_diff(r.Form["interest"], slice2)
if a != nil {
fmt.Fprintf(w, "复选框选择错误")
return
}
但是一直报错,就是这句
beeku.Slice_diff(r.Form["interest"], slice2)
提示
Cannot use r.Form["interest"] (type []string) as type []interface{}
意思应该是不能把字符串切片转换为interface,interface这东西不是通用类型么,怎么会出现这样的错误,谁明白呢?
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信2418 次点击
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传