import 'dart:convert'; import 'package:logger/logger.dart' as L; import 'package:simple_logger/simple_logger.dart'; import 'package:xdart_test/Bicycle.dart'; import 'package:xdart_test/MyColor.dart'; import 'package:xdart_test/dio_test.dart'; import 'package:xdart_test/xdart_test.dart' as c_test; import 'Spacecraft.dart'; String fullName(String firstName, String lastName) => '$firstName$lastName'; //函数命名参数 //可指定默认值 String fullNameAlisa({String firstName, String lastName = '磊'}) { return '$firstName $lastName'; } void show(int msg) { print('list value:$msg'); } //全局日志 final simpleLogger = SimpleLogger(); void main(List arguments) { var tmpArray = [1, 2, 3, 4]; tmpArray.forEach(show); print('list data:$tmpArray'); tmpArray.add(1); var asMap = tmpArray.asMap(); print('to map:$asMap'); print(fullName('chen', 'lei')); //调用的时候,指定参数名 var tmpName = fullNameAlisa(firstName: '陈'); print('$tmpName'); //常量map var mMap = const { 1: 'name', 'key': '不同类型', }; mMap.forEach((k, v) => {print('key:$k,value:$v')}); var bike = Bicycle(age: 100); var bikeDetail = bike.toJson(); print('bike info:$bikeDetail'); var num = 100; print('this is num:$num'); print('Hello world: ${c_test.calculate()}!'); /** * */ var name = '旅行者一号'; var year = 1977; var antennaDiameter = 3.7; var flybyObjects = ['木星', '土星', '天王星', '海王星']; var image = { 'tags': ['土星'], 'url': '//path/to/saturn.jpg' }; image['plants'] = flybyObjects; //=> (胖箭头) 简写语法用于仅包含一条语句的函数,该语法在将匿名函数作为参数传递时非常有用 image.forEach((k, v) => {print('$k,$v')}); while (year <= 1977) { year++; } print('current year:$year'); var imageJson = json.encode(image); print('image json :$imageJson'); //命名构造函数 var spacecraft = Spacecraft.unlaunched('神舟五号'); spacecraft.addCount(1); spacecraft.describe(); var orbiter = Orbiter('神州10号', DateTime.now(), 100.0); orbiter.describe(); //带名字的构造函数 var prettyPrinter = L.PrettyPrinter( methodCount: 3, // number of method calls to be displayed errorMethodCount: 8, // number of method calls if stacktrace is provided lineLength: 120, // width of the output colors: true, // Colorful log messages printEmojis: false, // Print an emoji for each log message printTime: true // Should each log print contain a timestamp ); var logger = L.Logger( printer: prettyPrinter, ); var encode = json.encode({'key': '大石头', '1': 109}); logger.i('this is logger json str:$encode'); logger.v('Verbose log'); logger.d('Debug log'); logger.i('Info log'); logger.w('Warning log'); logger.e('Error log'); logger.wtf('What a terrible failure log'); // simpleLogger.setLevel(Level.ALL, includeCallerInfo: true); // simpleLogger.levelSuffixes = { // Level.FINEST: '👾 ', // Level.FINER: '👀 ', // Level.FINE: '🎾 ', // Level.CONFIG: '🐶 ', // Level.INFO: '😃', // Level.WARNING: '⚠️ ', // Level.SEVERE: '‼️ ', // Level.SHOUT: '😡 ', // }; // simpleLogger.info('this is logger json str:$encode'); var dateTime = DateTime.now(); logger.i('$dateTime'); final color = MyColor(blue: '蓝色'); logger.i('${json.encode(color)}'); getHttp(); }