gpt4 book ai didi

object - 如何使 Dart 对象/类可索引?

转载 作者:行者123 更新时间:2023-12-01 15:23:34 24 4
gpt4 key购买 nike

在 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"]);
}

关于object - 如何使 Dart 对象/类可索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16881852/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com