繁体   English   中英

飞镖,重载 [] 运算符?

[英]dart, overloading [] operator?

是否可以重载集合/可迭代类型的索引[]语法? 例如,我正在编写一个围绕标准List<T>SortedList<T>类。 我只想将使用情况从我的排序列表直接传递到底层列表对象。 我以为我在 dart 语言之旅中读到过这个,但现在找不到了。

Dart 编辑器似乎很满意:

operator [](int i) => list[i]; // get
operator []=(int i, int value) => _list[i] = value; // set

DartPad 中尝试

是的,您可以覆盖运算符。 像这样:

T operator [](int index) => items[index];

但是你不能在 dart 中超载任何东西。 因为 Dart 不支持运算符或函数重载。 这意味着您的类不能有两个名称相同但参数不同的函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM