mar*_*itz 2 indexing object dart
在Python中,我可以通过覆盖来使任何类支持索引__getitem__
:
class Test:
def __getitem__(self, key):
return self.data[key]
Run Code Online (Sandbox Code Playgroud)
Dart是否有类似的构造?
假设该__getitem__
东西允许你使用"索引"语法(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"]);
}
Run Code Online (Sandbox Code Playgroud)
您还可以定义"对面" 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"]);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
330 次 |
最近记录: |