how-to-print-multiple-objects-to-the-console-with-print-in-dart
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseHow to Print Multiple Objects to the Console with print() in Dart
如何在Dart中使用print()将多个对象打印到控制台
If you are coming from JavaScript you may be used to printing multiple objects to the console with :
console.log()console.log('a', 1, 'b', 2); // a 1 b 2In Dart we can only print to the console with :
Object?print()print(1); // 1
print(null); // null
print({'a': 1, 'b': 2}); // {a: 1, b: 1}But it is totally possible to print multiple objects too, we need to use Records:
final number = 1;
final str = 'Hello World';
print((number, str));
print((DateTime.now(), str));
print((DateTime.now(), count: number, description: str));
print((DateTime.now(), StackTrace.current));Print the following:
(1, Hello World)
(2024-03-06 15:48:26.514, Hello World)
(2024-03-06 15:48:26.514, count: 1, description: Hello World)
(2024-03-06 15:48:26.514, Error
at get current [as current] (https://storage.googleapis.com/nnbd_artifacts/3.3.0/dart_sdk.js:139991:30)
at Object.main$0 [as main] (<anonymous>:52:94)
at Object.main$ [as main] (<anonymous>:44:10)
at <anonymous>:89:26
at Object.execCb (https://dartpad.dev/require.js:5:16727)
at e.check (https://dartpad.dev/require.js:5:10499)
at e.<anonymous> (https://dartpad.dev/require.js:5:12915)
at https://dartpad.dev/require.js:5:1542
at https://dartpad.dev/require.js:5:13376
at each (https://dartpad.dev/require.js:5:1020)
at e.emit (https://dartpad.dev/require.js:5:13344)
at e.check (https://dartpad.dev/require.js:5:11058)
at e.enable (https://dartpad.dev/require.js:5:13242)
at e.init (https://dartpad.dev/require.js:5:9605)
at a (https://dartpad.dev/require.js:5:8305)
at Object.completeLoad (https://dartpad.dev/require.js:5:15962)
at HTMLScriptElement.onScriptLoad (https://dartpad.dev/require.js:5:16882))如果您来自JavaScript背景,可能习惯使用将多个对象打印到控制台:
console.log()console.log('a', 1, 'b', 2); // a 1 b 2在Dart中,我们只能使用将打印到控制台:
print()Object?print(1); // 1
print(null); // null
print({'a': 1, 'b': 2}); // {a: 1, b: 1}但我们也完全可以打印多个对象,只需要使用Records:
final number = 1;
final str = 'Hello World';
print((number, str));
print((DateTime.now(), str));
print((DateTime.now(), count: number, description: str));
print((DateTime.now(), StackTrace.current));打印结果如下:
(1, Hello World)
(2024-03-06 15:48:26.514, Hello World)
(2024-03-06 15:48:26.514, count: 1, description: Hello World)
(2024-03-06 15:48:26.514, Error
at get current [as current] (https://storage.googleapis.com/nnbd_artifacts/3.3.0/dart_sdk.js:139991:30)
at Object.main$0 [as main] (<anonymous>:52:94)
at Object.main$ [as main] (<anonymous>:44:10)
at <anonymous>:89:26
at Object.execCb (https://dartpad.dev/require.js:5:16727)
at e.check (https://dartpad.dev/require.js:5:10499)
at e.<anonymous> (https://dartpad.dev/require.js:5:12915)
at https://dartpad.dev/require.js:5:1542
at https://dartpad.dev/require.js:5:13376
at each (https://dartpad.dev/require.js:5:1020)
at e.emit (https://dartpad.dev/require.js:5:13344)
at e.check (https://dartpad.dev/require.js:5:11058)
at e.enable (https://dartpad.dev/require.js:5:13242)
at e.init (https://dartpad.dev/require.js:5:9605)
at a (https://dartpad.dev/require.js:5:8305)
at Object.completeLoad (https://dartpad.dev/require.js:5:15962)
at HTMLScriptElement.onScriptLoad (https://dartpad.dev/require.js:5:16882))