我想有一个带泛型的结构体切片。泛型是一个带类型约束的接口。
type constraint interface { int32 | uint32 } type a[T constraint] struct { something T } type b struct { as []a[constraint] // doesn't work }
如何使它可以同时使用a[int32]和a[uint32]作为b.as中的元素?
a[int32]
a[uint32]
b.as
hgc7kmma1#
我尝试做的事情在我提出的方法中是不可能的。这是因为a[int32]和a[uint32]是不同的类型。我需要创建一个只有a实现的内部接口,并创建一个数组。
a
type internal interface { someObscureMethod() } func (anA a[T]) someObscureMethod() {} type b struct { as []internal }
1条答案
按热度按时间hgc7kmma1#
我尝试做的事情在我提出的方法中是不可能的。这是因为
a[int32]
和a[uint32]
是不同的类型。我需要创建一个只有a
实现的内部接口,并创建一个数组。