main.dart 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. import 'dart:convert';
  2. import 'package:logger/logger.dart' as L;
  3. import 'package:simple_logger/simple_logger.dart';
  4. import 'package:xdart_test/Bicycle.dart';
  5. import 'package:xdart_test/dio_test.dart';
  6. import 'package:xdart_test/xdart_test.dart' as c_test;
  7. import 'Spacecraft.dart';
  8. String fullName(String firstName, String lastName) => '$firstName$lastName';
  9. //函数命名参数
  10. //可指定默认值
  11. String fullNameAlisa({String firstName, String lastName = '磊'}) {
  12. return '$firstName $lastName';
  13. }
  14. void show(int msg) {
  15. print('list value:$msg');
  16. }
  17. //全局日志
  18. final simpleLogger = SimpleLogger();
  19. void main(List<String> arguments) {
  20. var tmpArray = [1, 2, 3, 4];
  21. tmpArray.forEach(show);
  22. print('list data:$tmpArray');
  23. tmpArray.add(1);
  24. var asMap = tmpArray.asMap();
  25. print('to map:$asMap');
  26. print(fullName('chen', 'lei'));
  27. //调用的时候,指定参数名
  28. var tmpName = fullNameAlisa(firstName: '陈');
  29. print('$tmpName');
  30. //常量map
  31. var mMap = const {
  32. 1: 'name',
  33. 'key': '不同类型',
  34. };
  35. mMap.forEach((k, v) => {print('key:$k,value:$v')});
  36. var bike = Bicycle(age: 100);
  37. var bikeDetail = bike.toJson();
  38. print('bike info:$bikeDetail');
  39. var num = 100;
  40. print('this is num:$num');
  41. print('Hello world: ${c_test.calculate()}!');
  42. /**
  43. *
  44. */
  45. var name = '旅行者一号';
  46. var year = 1977;
  47. var antennaDiameter = 3.7;
  48. var flybyObjects = ['木星', '土星', '天王星', '海王星'];
  49. var image = {
  50. 'tags': ['土星'],
  51. 'url': '//path/to/saturn.jpg'
  52. };
  53. image['plants'] = flybyObjects;
  54. //=> (胖箭头) 简写语法用于仅包含一条语句的函数,该语法在将匿名函数作为参数传递时非常有用
  55. image.forEach((k, v) => {print('$k,$v')});
  56. while (year <= 1977) {
  57. year++;
  58. }
  59. print('current year:$year');
  60. var imageJson = json.encode(image);
  61. print('image json :$imageJson');
  62. var spacecraft = Spacecraft.unlaunched('神舟五号');
  63. spacecraft.describe();
  64. var orbiter = Orbiter('神州10号', DateTime.now(), 100.0);
  65. orbiter.describe();
  66. //带名字的构造函数
  67. var prettyPrinter = L.PrettyPrinter(
  68. methodCount: 3, // number of method calls to be displayed
  69. errorMethodCount: 8, // number of method calls if stacktrace is provided
  70. lineLength: 120, // width of the output
  71. colors: true, // Colorful log messages
  72. printEmojis: false, // Print an emoji for each log message
  73. printTime: true // Should each log print contain a timestamp
  74. );
  75. var logger = L.Logger(
  76. printer: prettyPrinter,
  77. );
  78. var encode = json.encode({'key': '大石头', '1': 109});
  79. logger.i('this is logger json str:$encode');
  80. logger.v('Verbose log');
  81. logger.d('Debug log');
  82. logger.i('Info log');
  83. logger.w('Warning log');
  84. logger.e('Error log');
  85. logger.wtf('What a terrible failure log');
  86. // simpleLogger.setLevel(Level.ALL, includeCallerInfo: true);
  87. // simpleLogger.levelSuffixes = {
  88. // Level.FINEST: '👾 ',
  89. // Level.FINER: '👀 ',
  90. // Level.FINE: '🎾 ',
  91. // Level.CONFIG: '🐶 ',
  92. // Level.INFO: '😃',
  93. // Level.WARNING: '⚠️ ',
  94. // Level.SEVERE: '‼️ ',
  95. // Level.SHOUT: '😡 ',
  96. // };
  97. // simpleLogger.info('this is logger json str:$encode');
  98. var dateTime = DateTime.now();
  99. logger.i('$dateTime');
  100. getHttp();
  101. }