void main() {
    person1(‘张三’);
    person1(‘张三’,age:20);
    person2(‘李四’);
    person2(‘李四’,20);
    }

    person1(name, {age}){ //可选参数为{}的时候,传参要写成age:20
    print(“name=$name,age=$age”)
    }

    person2(name, [age]){ //可选参数为{}的时候,传参只需要写值就行20
    print(“name=$name,age=$age”)
    }

    注意:如果可选参数有多个值需要传,{}形式可以只传需要的值。
    而以[]形式的如果只传需要的值,则不能跳过不需要的值直接填后面的值。
    person2(name, [age, gender]){
    print(“name=$name,age=$age,gender=$gender”)
    }

    person2(‘张三’,16,’男’) // name=张三,age=16,gender=男
    person2(‘张三’,’男’) // 报错

    注意:可选参数应放在具体参数后边。使用{}的形式较好!可选参数最好设置默认值。