在Python中,我可以通过覆盖使任何类支持索引__getitem__
像这样:
class Test:
def __getitem__(self, key):
return self.data[key]
Dart 是否有类似的构造?
假设__getitem__
thing 可以让你使用“索引”语法(object[index]
),是的,Dart 可以让你通过定义来做同样的事情operator []
。例子:
class Test {
var data = {
"a": 1,
"b": 2
};
operator [](index) => data[index];
}
main() {
var t = new Test();
print(t["a"]);
print(t["b"]);
}
您还可以定义“相反”operator []=
:
class Test {
Map data = {
"a": 1,
"b": 2
};
operator [](index) => data[index];
operator []=(index, value) { data[index] = value; }
}
main() {
var t = new Test();
print(t["a"]);
print(t["b"]);
t["c"] = 3;
print(t["c"]);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)