gpt4 book ai didi

types - 去戈兰 : Type assertion on customized type

转载 作者:IT王子 更新时间:2023-10-29 01:37:09 30 4
gpt4 key购买 nike

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 []int
type bucket [10]IntArr

周末试了很多方法都搞不定,感激不尽。

最佳答案

要使用堆包,您应该为您的类型实现 heap.Interface(在本例中,为您的 IntArr 类型)。您可以在此处找到示例:http://golang.org/pkg/container/heap/#pkg-examples

然后你可以做类似的事情

heap.Push(bucket[x], elem)

关于types - 去戈兰 : Type assertion on customized type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20752772/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com