Dart 可选位置参数使用说明


例如我们在 Dart 中有一个求和函数,它接收三个参数,最后返回这三个数的和


                    //求和
                    int summation(int a, int b, int c) {
                        return a + b + c;
                    }
                    // ···
                    int total = summation(1, 2, 3);
                

如果我们想要后面两个参数是选填的,可以使用可选位置参数,只要把这些参数放在方括号中,它们就是选填的参数了【注意:可选参数只能放在参数列表的末尾】。例如:


                    //求和
                    int summation(int a, [int? b, int? c]) {
                        int sum = a;
                        if (b != null) sum += b;
                        if (c != null) sum += c;
                        return sum;
                    }
                    // ···
                    int total1 = summation(1, 2); // 不传第三个数
                    int total2 = summation(1, 2, 3);
                

可选参数的默认值null,我们可以给它定义初始值来覆盖这个默认值。例如:


                    //求和
                    int summation(int a, [int b = 2, int c = 3]) {
                        int sum = a;
                        if (b != null) sum += b;
                        if (c != null) sum += c;
                        return sum;
                    }
                    // ···
                    int total = summation(1); // 返回 6
                

还要注意:一个函数不能同时使用可选位置参数和可选命名参数