http://play.golang.org/p/icQO_bAZNE我正在练习使用堆排序,但是 prog.go:85: type bucket is not an expression prog.go:105: cannot use heap.Pop(bucket[i].([]IntArr)) (type interface {}) as type int in assignment: need type assertion [process exited with non-zero status]我收到这些错误,无法弄清楚如何正确键入断言问题来自以下几行: heap.Push(bucket[x].([]IntArr), elem) arr[index] = heap.Pop(bucket[i].([]IntArr))因为我想使用堆结构来从每个桶中提取值每个桶都是 []IntArr而且IntArr是[]int像下面type IntArr []inttype bucket [10]IntArr周末试了很多方法都搞不明白,不胜感激。
2 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
从go 规范:
对于接口类型的表达式 x 和类型 T,主要表达式
x.(T)
断言 x 不是 nil 并且存储在 x 中的值是 T 类型。符号 x.(T) 称为类型断言。
bucket[x]
不是接口类型的表达式,请在此处查看更多信息。
- 2 回答
- 0 关注
- 399 浏览
添加回答
举报
0/150
提交
取消