main.dart 3.4 KB

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