第一百二十六回 级联操作符

本文介绍了Flutter中的级联操作符概念,展示了如何通过级联操作符进行链式调用和List赋值。作者分享了理解和掌握这些操作符的实用经验和示例代码,鼓励读者实践并参与讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


我们在上一章回中介绍了List和Map相关的知识,本章回中将介绍 级联操作符.闲话休提,让我们一起Talk Flutter吧。

概念介绍

我们在本章回中介绍的级联操作符表示两个点,以及在此基础上的扩展出的三个点。我在示例代码中没有使用这些操作符,不过在看其它包中的示例代码时发现了这些操作符,开始不理解,查阅相关资料后才知识这些操作符的功能和用法,经过我的使用后,我总结了一些经验,在此分享给大家。

使用方法

级联操作符是两个点,可以使用同一个对象多次调用对象中的方法。我们可以这样理解它:级联操作符的第一个点可以理解为返回当前对象(this),第二个点用来调用对象中的方法。通过级联操作符可以形成链式调用,使的代码更加简洁。如果有看官感觉理解比较抽象的话,可以参考后面的小节中的示例代码。

三个点的操作符是在级联操作符的基础上扩展出来的,它的功能:用来给List赋值,相当把一个List完全复制给另外一个List。鉴于这个功能,它经常用在给List赋值的场景中,稍后我们将通过示例代码来演示它的使用的方法。

示例代码

///list使用级联操作符添加多个元素。级联操作符是两个点,可以使用同一个对象多次调用对象中的方法。
  strList
    ..add('six')
    ..add('seven')
    ..remove('two')
    ..add('eight');

  ///在对象上使用级联操作符,多次调用了类的属性和func方法
  TestObject tObj = TestObject(1, 'a');
  tObj.func();
  tObj
    ..a = 3
    ..b = 'b'
    ..func();

  ///三个点的使用方法:用来给List赋值,相当把一个List完全复制给另外一个List
  List<Text> textList = [Text('a'),Text('b'),Text('c'),];
  List<ListTile> tileList = [ListTile(title: Text('aa'),),ListTile(title: Text('bb'),),ListTile(title: Text('cc'),),];

  _listView = ListView(
    shrinkWrap: true,
    children: [
      ...strList.map((e) => ListTile(title: Text(e)),).toList(),
      ...textList.map((e) => ListTile(title: e,),).toList(),
      ...tileList.map((e) => e,).toList(),
    ],
  );

上面的示例代码中演示了级联操作符的使用方法,建议大家自己动手去实践,这样才能更加有效地掌握它们的使用方法。

经验分享

级联操作符属于比较特殊的操作符,在其它语言中不多见。我的经验是:遇到这种特殊的内容后,可以多看看示例代码,或者官方的源代码。从这些地方就能找出它的使用方法,进而掌握它的功能和用法。这些内容是我自己总结出的经验,看官们有没有什么好的经验可以分享呢?

看官们,关于"级联操作符"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值