关于对比两个切片不同的问题

gameserver · · 1880 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

在学习 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

1880 次点击  
加入收藏 微博
1 回复  |  直到 2017-02-27 01:23:35
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传