golang 无法将Slice类型[]a 转换为 Slice[]b

    因为我想做一个通用的Slice方法,AnySlice,但是将AnySlice定义为[]interface{ } 转换到别的类型,或者相互转换的时候都是会报错。

这是golang比较恶心人的一个地方了,不能做多层继承。

其实或许也是可以的,那就是要善用 unsafe.Pointer 和reflect 深层次的对象了,而不是简单的做 类型断言,类型转换了。

type AnySlice 定义为 interface{ } ,每次调用的时候都去判断 reflect.Type 是否是reflect.Slice 这种方式,简直是醉了.

对于上述两个概念的深层次运用我还需要继续学习!

猜你喜欢

转载自www.cnblogs.com/ayanmw/p/9495023.html