dart 学习 之命名参数

你可以在参数列表的靠后位置使用花括号 ({}) 来定义命名参数。

除非显式使用 required 进行标记,否则命名参数默认是可选的。

void printName(String firstName, String lastName, {String? middleName}) {print('$firstName ${middleName ?? ''} $lastName');
}
// ···printName('Dash', 'Dartisan');printName('John', 'Smith', middleName: 'Who');// Named arguments can be placed anywhere in the argument listprintName('John', middleName: 'Who', 'Smith');

正如你所料,这些参数默认为 null,但你也可以为其提供默认值。

如果一个参数的类型是非空的,那么你必须要提供一个默认值(如下方代码所示),或者将其标记为 required(如 构造部分所示)。

void printName(String firstName, String lastName, {String middleName = ''}) {print('$firstName $middleName $lastName');
}

一个方法不能同时使用可选位置参数和可选命名参数。

看看练习
向 MyDataObject 类添加一个 copyWith() 实例方法,它应该包含三个可空的命名参数。

int? newInt
String? newString
double? newDouble
copyWith 方法应该根据当前实例返回一个新的 MyDataObject 并将前面参数(如果有的话)的数据复制到对象的属性中。例如,如果 newInt 不为空,则将其值复制到 anInt 中。

答案

class MyDataObject {final int anInt;final String aString;final double aDouble;MyDataObject({this.anInt = 1,this.aString = 'Old!',this.aDouble = 2.0,});MyDataObject copyWith({int? newInt, String? newString, double? newDouble}) {return MyDataObject(anInt: newInt ?? this.anInt,aString: newString ?? this.aString,aDouble: newDouble ?? this.aDouble,);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/79321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

文件上传漏洞(CVE-2022-30887)

简介 多语言药房管理系统(MPMS)是用PHP和MySQL开发的,该软件的主要目的是在药房和客户之间提供一套接口,客户是该软件的主要用户。该软件有助于为药房业务创建一个综合数据库,并根据到期、产品等各种参数提供各种报告…

Flutter插件之阿里百川

上一篇:Flutter插件的制作和发布,我们已经了解了如何制作一个通用的双端插件,本篇就带领大家将阿里百川双端sdk制作成一个flutter插件供项目调用! 目录 登录并打开控制台,创建应用:填写应用相关信息开通百川…

华为云云服务器云耀L实例评测 | 智能不卡顿:如何实现流畅的业务运行

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

10个简单但超级有用的Python装饰器

装饰器(Decorators)是Python中一种强大而灵活的功能,用于修改或增强函数或类的行为。装饰器本质上是一个函数,它接受另一个函数或类作为参数,并返回一个新的函数或类。它们通常用于在不修改原始代码的情况下添加额外的…

埃文科技受邀出席“安全堤坝”技术论坛

2023年9月11日,2023年国家网络安全宣传周河南省活动开幕式暨河南省网络文明大会在开封博物馆开幕。由CCF YOCSEF郑州举办的“聚焦数据交易监管技术,筑牢数据交易‘安全堤坝’”技术论坛在开封市博物馆二楼会议厅举行。埃文科技总经理王永博士与副总经理武…

“存量竞争” 体验为王,火山引擎边缘云助力内容社区破局

今年4月,在宣布要技术升级、数据重构后,承载无数人青春的天涯社区疑似关停,一代传奇的衰落为所有内容社区释放出了不可忽视的信号。 图片来源:天涯官博 回顾天涯社区发展史,从“周公子大战易烨卿”、天涯十大诡异事件&…

uniapp 悬浮窗-任意界面 Ba-FloatWinWeb

简介(下载地址) Ba-FloatWinWeb 是一款支持自定义任意界面的悬浮窗插件。采用webview方式,同时支持本地、网络地址;自带几种界面,可直接使用。 支持显示、更新、隐藏支持记录显示位置支持拖动支持监听点击事件支持自…

惊讶!投资人明目张胆套商业机密;AIGC招聘市场解读;超级个体公开课;如何说服客户购买AI产品 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🔥 投资人明目张胆套商业机密,创业者需要了解这些 佩妮小阿姨-知名机构投资人路演竟然当场欺骗创业者 昨晚创投圈火热的话题…

大数据技术准备

Hbase:HBase 底层原理详解(深度好文,建议收藏) - 腾讯云开发者社区-腾讯云 Hbase架构图 同一个列族如果有多个store,那么这些store在不同的region Hbase写流程(读比写慢) MemStore Flush Hbas…

C语言——指针进阶(三)

目录 一.前言摘要 二.排序函数qsort的模拟实现 三.指针和数组笔试题解析 一.前言摘要 讲述关于strlen和sizeof对于各种数组与指针的计算规则与用法。另外还有qsort函数的模拟实现(可以排序任意类型变量) 二.排序函数qsort的模拟实现 目标:…

Java基础-异常处理

文章目录 异常机制的作用异常存在的形式 异常机制的作用 什么是异常,异常的作用?程序在执行的过程中发生了不正常的情况,而这种情况被称之为"异常"。Java语言是很完善的语言,提供了异常的处理方式:Java把异…

JUC相关面试题

👏作者简介:大家好,我是爱发博客的嗯哼,爱好Java的小菜鸟 🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦 📝社区论坛:希望大家能加入社区共同进步…

【东软实训Day04】Java UDP通信

一、UDP协议简介(User Datagram Protocol,用户数据报协议) UDP是传输层的协议,该协议主要为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法,功能即为在IP的数据报服务之上增加了最基本的服务&#…

docker真实IP解决

背景 在微服务的环境中使用docker部署各个应用,部分应用使用容器内的真实ip暴露出服务。会导致微服务之间调用出现网络超时,要解决这个问题需要让微服务暴露为宿主机的ip 解决 方式一 使用docker-compose的配置 network_mode: "host" emq…

SpringMVC之CRUD(增删改查)

SpringMVC之CRUD(增删改查) 数据库 # 创建表CREATE TABLE Student (sid INT PRIMARY KEY,sname VARCHAR(50),sage INT,spic VARCHAR(255));给student表插入数据 INSERT INTO Student (sid, sname, sage, spic) VALUES (1, John Do, 25, path/to/image1.jpg), (2, Jane Smith, …

IIS解析漏洞复现

文章目录 漏洞复现总结 漏洞复现 打开虚拟机,在C:\inetpub\wwwroot\8000_test目录下放一个phpinfo.php文件: 在服务器管理器中打开IIS管理器,选择处理映射程序: 点击添加模块映射: 配置映射模板,php文件…

个人简历a

赖国尚 个人信息 性别:男                      年龄:23手机:15766355301           邮箱:1540302412qq.com期望岗位:音视频开发工程师    期望薪资:面议 教育背景…

【AI】数学基础——最优化

从本质上讲,人工智能的目标就是最优化——在复杂环境中与多体交互中做出最优决策 几乎所有的人工智能问题都会归结为一个优化问题 在线性搜索中,确定寻找最小值时的搜索方向需要使用目标函数的一阶导数和二阶导数置信域的思想是先确定搜索步长&#xff0…

前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— JS基础(一)

ﻌﻌﻌﻌ♡‎ﻌﻌﻌﻌ♡‎‎ﻌﻌﻌﻌ♡‎ﻌﻌﻌﻌ♡ﻌﻌﻌﻌ…

Qt使用注意事项

1.菜单选项不能出现数字,可以是 英文 加 “_”: 2.如何确保加载的图片,尺寸大小与原来一样? 【QT】添加图片资源并使用QImage加载图片显示_qimage显示图片_李春港的博客-CSDN博客 ui->PicLabel->setPixmap(QPixmap::fromIm…