gpt4 book ai didi

dart - 如何从 map 构造带有命名参数的类?

转载 作者:行者123 更新时间:2023-12-03 03:01:50 25 4
gpt4 key购买 nike

假设我有这个类(class):

class Person {
final int age;
final String name;

const Person({
@required this.age,
@required this.name,
});
}

然后,我想使用来自外部源的数据构造此Person类的新实例。

数据为 Map<String, dynamic> data
因为使用命名参数无法将 data直接传递给构造函数,所以如何构造新的Person?

我当然可以做:
final p = Person(age: data['age'], name: data['name']);
但是想像一下,有很多参数会很痛苦。

最佳答案

通过为此创建一个构造函数:

class Person {
final int age;
final String name;

const Person({
@required this.age,
@required this.name,
});

Person.fromMap(Map<String, dynamic> map) : age = map['age'],
name = map['name'];
}

如果愿意,还可以在构造函数主体中进行赋值,如果您有更多字段,则可以更加清楚。

关于dart - 如何从 map 构造带有命名参数的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54506868/

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