gpt4 book ai didi

dart - 嵌套 IF 条件出现意外行为

转载 作者:IT王子 更新时间:2023-10-29 06:58:05 26 4
gpt4 key购买 nike

我有如下几个 IF 条件。

      if (globals.chatroomInfoMap.containsKey(chatroomID)) {
if (messageData['name'] != null) {
globals.chatroomInfoMap[chatroomID].name =
messageData['name'];
print('object ${globals.chatroomInfoMap[chatroomID].name}');
}
print('1');
if (messageData['timestamp'] != null) {
globals.chatroomInfoMap[chatroomID].timestamp =
messageData['timestamp'];
print('object ${globals.chatroomInfoMap[chatroomID].timestamp}');
}
print('2');
if (messageData['members'] != null) {
globals.chatroomInfoMap[chatroomID].members =
messageData['members'];
print('object ${globals.chatroomInfoMap[chatroomID].members}');
}
print('3');
if (messageData['slogan'] != null) {
globals.chatroomInfoMap[chatroomID].slogan =
messageData['slogan'];
print('object ${globals.chatroomInfoMap[chatroomID].slogan}');
}
print('object here');
}

在输出中,我只能看到以下内容

I/flutter (25612): object OtherRoom!!@

I/flutter (25612): 1

所以我们看到的是第二个 IF 语句中打印的打印,下一行是之后打印的“1”。然后就是调试打印。我想知道这是什么魔法?我在 Dartpad 中尝试了同样的事情,以确保我没有正确使用语法。

Dartpad 中使用的代码:

main() {
final Map<String, dynamic> messageData = {
'slogan': 'buhuhu1',
'chatroomID': 'H8j0EHhu2QpicgFDGXYZ',
'mode': 'chatroom - update',
'name': 'OtherRoom@!',
'timestamp': '2019-02-23T17:12:12.000Z',
'click_action': 'FLUTTER_NOTIFICATION_CLICK',
'members': ["fb7TfdFvl7tWgtSldgHs", "8kG2kE4jBkPs2qwt7GYA"]
};
final Map<String, dynamic> global = {'H8j0EHhu2QpicgFDGXYZ': 'something'};

if (global.containsKey(messageData['chatroomID'])) {
if (messageData['name'] != null) {
print('here 1');
}
print('here');
if (messageData['timestamp'] != null) {
print('here 2');
}
}
}

输出:

here 1

here

here 2

你能帮我理解我错过了什么吗?我确信这是一些非常愚蠢的错误。

最佳答案

我遇到了问题。时间戳是不同的数据类型。我想知道为什么它没有抛出错误。感谢您的帮助。

关于dart - 嵌套 IF 条件出现意外行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54972958/

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