dart参数传方法_1天搞定Dart语法(中)

本文是40分钟快速入门Dart基础的中篇,详细介绍了Dart中的一等方法对象、可选命名参数、可选位置参数、默认参数、匿名函数、类、构造函数、方法、抽象类、接口、可调用的类以及混合Mixins等核心概念,通过实例解析帮助读者快速掌握Dart语法。
摘要由CSDN通过智能技术生成

961e15bce4c113be0dffd3c2267fa7c5.png

40分钟快速入门Dart基础(中)

最近时间太忙,天天加班加点,但是我们的学习的行为不能落下。

小伙伴们继续跟着我一起来学习40分钟快速入门Dart基础(中)

镇楼目录:

dddd8c687f4af2496852309469aec2f6.png

在本章我们主要跟大家聊聊方法和类。这两大章看似不多,其实也不少,不过小伙伴们不用担心,只要大家按照我下面的代码敲一遍,保证能掌握大部分知识点!

好废话不多说,直接开干。

一、一等方法对象

Dart 是一个真正的面向对象语言,方法也是对象并且具有一种 类型 Function。 这意味着,方法可以赋值给变量,也可以当做其他方法的参数,同时也可以把方法当做参数调用另外一个方法

import 'dart:core';

void main() {
  var list = ["黄药师", "郭靖", "小龙女"];

  void printElement(element) {
    print(element);
  }
  list.forEach(printElement); 
}

复制代码

在Java中如果需要能够通知调用者或者其他地方方法执行过程的各种情况,可能需要指定一个接口,其实就是我们说的回调函数。比如View的onClickListener。而在Dart中,我们可以直接指定一个回调方法给调用的方法,由调用的方法在合适的时机执行这个回调。

void setListener(Function listener){
    listener("Success");
}
//或者
void setListener(void listener(String result)){
    listener("Success");
}

//两种方式,第一种调用者根本不确定 回调函数的返回值、参数是些什么
//第二中则需要写这么一大段 太麻烦了。

//第三种:类型定义 将返回值为voide,参数为一个String的方法定义为一个类型。
typedef  void Listener(String result);
void setListener(Listener listener){
  listener("Success");
}

复制代码

在Dart 中方法可以有两种类型的参数:必需的和可选的。 必需的参数需要在参数列表前面, 后面再定义可选参数。

二、可选命名参数

什么叫可选命名函数,其实说白了就是把方法的参数放到 {} 中就变成了可选命名参数。

import 'dart:core';

void main() {
  int add({int i, int j}) {
    if (i == null || j == null) {
      return 0;
    }
    return i + j;
  }

  //全参调用
  print("--1--${add(i: 10, j: 20)}"); //输出:30
  //不传参数(调用也是正确的)
  print("--2--${add()}"); //输出:0
  //选择传递参数
  print("--3--${add(j: 20)}"); //输出:0
  //与位置无关
  print("--4--${add(j: 20, i: 10)}"); //输出:30
}

复制代码

三、可选位置参数

什么叫可选命名函数,其实说白了就是把方法的参数放到 [] 中就变成了可选命名参数。

void main() {
  int add([int i, int j]) {
    if (i == null || j == null) {
      return 0;
    }
    return i + j;
  }

  //全参调用
  print("--1--${add(10, 20)}"); //输出:30
  //不传参数(调用也是正确的)
  print("--2--${add()}"); //输出:0
  //选择传递参数
  print("--3--${add(10)}"); //输出:0
}

复制代码

四、默认参数

什么叫做默认参数,其实就是在定义方法的时候,可选参数可以使用 = 来定义可选参数的默

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值