golang中container/list包中的坑

chenbaoke ·
qkb_75_go
琴为心声
的确是这样的。 我认为:container 库其实是模仿 BOOST 的泛型编程, 而golang的静态编译不是预编译展开方式实现的,是通过 空接口 实现的 假泛型。 这个空接口,使对 nil 的判定比较尴尬。 倒并不是说 golang在这里埋了一个雷, 而是不恰当想 把BOOST的泛型引入进来。 这种泛型编程,其实就是想偷懒,让编译器额外做程序员的工作。 反正不管怎么说, 这个 官方的 container 库,的确 有先天不足的。而且这个 缺陷是很难修改的。 或许,专门 再继承一个 “实体数值的container”是一个好办法?? 而所有用过 container 的同学要注意了:如 楼主所说,特别是删除操作,要用 全局锁, 以免 nil 出错。
#1