Dart 中的递归对象类型?
Recursive object types in Dart?
我应该注意,我来自 TypeScript 背景,这让我的 perspective/nomenclature 在这里很显眼。
在 TypeScript 中,您可以非常轻松地定义递归接口:
interface User {
name: string,
friends: User[]
}
const bob:User = {
name: "Bob",
friends: []
}
你会如何在 Dart 中做到这一点?
解决方案没有太大区别。
class User {
String name;
List<User> friends;
}
void main() {
var bob = User();
bob.name = "Bob";
bob.friends = [User(), User(), User()];
print(bob.name); // Bob
print(bob.friends); // [Instance of 'User', Instance of 'User', Instance of 'User']
}
我应该注意,我来自 TypeScript 背景,这让我的 perspective/nomenclature 在这里很显眼。
在 TypeScript 中,您可以非常轻松地定义递归接口:
interface User {
name: string,
friends: User[]
}
const bob:User = {
name: "Bob",
friends: []
}
你会如何在 Dart 中做到这一点?
解决方案没有太大区别。
class User {
String name;
List<User> friends;
}
void main() {
var bob = User();
bob.name = "Bob";
bob.friends = [User(), User(), User()];
print(bob.name); // Bob
print(bob.friends); // [Instance of 'User', Instance of 'User', Instance of 'User']
}