首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Dart 2.2之后设置文本

如何在Dart 2.2之后设置文本
EN

Stack Overflow用户
提问于 2019-06-09 21:15:48
回答 2查看 6K关注 0票数 7

在Dart 2.2之前不支持设置文本,如何在Dart 2.2之后设置文本。请随时发表评论。谢谢。

代码语言:javascript
复制
class item_t {
  String name;
  int weight;
  int value;
}

main() {
  const List<item_t> items = [
    {'map', 9, 1}, // reports errors
  ];
}

更新1

我可以将该列表定义为一系列定义语句。然而,它似乎是无效的。

代码语言:javascript
复制
class item_t {
  String name;
  int weight;
  int value;
}

main() {
  // final item_t items = new item_t(100);
  List<item_t> items = new List(2);

  items[0].name = 'map';
  items[0].weight = 9;
  items[0].value = 1;

}

在C语言中,我可以有效地定义一个结构,但我不知道如何在dart中做到这一点。

代码语言:javascript
复制
typedef struct {
    char *name;
    int weight;
    int value;
} item_t;

item_t items[] = {
    {"map",                      9,   150},
    {"compass",                 13,    35},
    {"water",                  153,   200},
};

更新2

感谢jamesdlin的建议,我可以简化列表初始化并通过索引访问元素。然而,它仍然不能像C语言那样有效。

代码语言:javascript
复制
 var mySet = [
    {"map", 9, 150},
    {"compass", 13, 35},
    {"water", 153, 200},
    {"sandwich", 50, 160},
    {"glucose", 15, 60},
    {"tin", 68, 45},
    {"banana", 27, 60},
    {"apple", 39, 40},
    {"cheese", 23, 30},
    {"beer", 52, 10},
    {"suntan cream", 11, 70},
    {"camera", 32, 30},
    {"T-shirt", 24, 15},
    {"trousers", 48, 10},
    {"umbrella", 73, 40},
    {"waterproof trousers", 42, 70},
    {"waterproof overclothes", 43, 75},
    {"note-case", 22, 80},
    {"sunglasses", 7, 20},
    {"towel", 18, 12},
    {"socks", 4, 50},
    {"book", 30, 10}
  ];

  print(mySet[0].elementAt(1));
EN

回答 2

Stack Overflow用户

发布于 2019-06-10 05:13:23

您可以使用{}指定Set (和Map)文本:

代码语言:javascript
复制
var mySet = {1, 2, 3};

请注意,为了避免Map文字的多义性,必须在创建空集时显式指定类型。例如:

代码语言:javascript
复制
var emptySet = <int>{};

另请参阅https://dart.dev/guides/language/language-tour#sets

票数 11
EN

Stack Overflow用户

发布于 2019-12-29 22:38:22

只需将{}分别替换为[],一切都会正常工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56514894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档