/* * ==================================================== * package : * author : Created by nansi. * time : 2019/6/20 10:11 AM * remark : * ==================================================== */ import 'package:encrypt/encrypt.dart'; mixin TestMixin on BaseClass { void init() { print('TestMixin init start'); super.init(); print('TestMixin init end'); } } mixin TestMixin2 on BaseClass { void init() { print('TestMixin2 init start'); super.init(); print('TestMixin2 init end'); } } class BaseClass { void init() { print('Base init'); } BaseClass() { init(); } } class TestClass extends BaseClass with TestMixin, TestMixin2 { @override void init() { print('TestClass init start'); print('TestClass init end'); } } final parser = RSAKeyParser(); void main() async { // List ints = [1,2,3,4,5,6]; // for(int value in ints) { // if (value == 3) { // continue; // } // print("----- $value"); // } // for (int i = 1; i <= 9; ++i) { // StringBuffer stringBuffer = StringBuffer(); // for (int j = 1; j <= i; ++j) { // stringBuffer.write("$j * $i = ${i*j} "); // } // print("$stringBuffer \n"); // } // // var arr = [1, 2, 3,4]; //// 临时变量,用于输出 // // print(DateTime.now()); // for (int m = 0; m < 100; m++) { // n(arr); // } // print(result); // print(DateTime.now()); // TestClass(); /// TestClass init start /// TestMixin2 init start /// TestMixin init start /// Base init /// TestMixin init end /// TestMixin2 init end /// TestClass init end } var result = []; var temp = []; n(List arr) { for (var i = 0; i < arr.length; i++) { // 插入第i个值 temp.add(arr[i]); // 复制数组 var copy = []; copy.addAll(arr); // 删除复制数组中的第i个值,用于递归 copy.removeAt(i); if (copy.length == 0) { // 如果复制数组长度为0了,则打印变量 temp.sort(); if (!result.contains(temp.join("-"))) { result.add(temp.join("-")); } } else { // 否则进行递归 n(copy); } // 递归完了之后删除最后一个元素,保证下一次插入的时候没有上一次的元素 temp.clear(); } }