为了账号安全,请及时绑定邮箱和手机立即绑定

Go Golang:自定义类型的类型断言

Go Golang:自定义类型的类型断言

Go
holdtom 2021-06-30 10:57:06
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]不是接口类型的表达式,请在此处查看更多信息。


查看完整回答
反对 回复 2021-07-12
  • 2 回答
  • 0 关注
  • 399 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信