当前位置: 首页 > news >正文

家政月嫂网站源码手机建设中网站

家政月嫂网站源码,手机建设中网站,做暖暖视频网站,公司域名网站028问号可选类型可空类型保存null空String的isEmpty和NotEmpty ?问号可选类型可空类型保存null叹号强制解包??双冒号运算符String的isEmpty和isNotEmpty ? 问号可选类型,可空类型 可选类型可以保存null,就是空的意思 String.isEmpty 是判断是否是空白字符串,他并不是null…028问号可选类型可空类型保存null空String的isEmpty和NotEmpty ?问号可选类型可空类型保存null叹号强制解包??双冒号运算符String的isEmpty和isNotEmpty ? 问号可选类型,可空类型 可选类型可以保存null,就是空的意思 String.isEmpty 是判断是否是空白字符串,他并不是null,不是空,依然有值,只不过值是空白字符串 isNotEmpty跟isEmpty完全相反,是判断是否不是空白字符串 如果给可选类型赋值null,那么isEmpty不能运行 !强制解包,把可选类型变成非可选类型,例如把String?变成String,把int? 变成int但是如果可选类型里面保存的值是null,那么运行报错 str!; //!强制解包,把?可选类型变成正常的String类型,但是因为str!强制解包以后,里面真的是一个null,运行会报错 双冒号?? 运算符,代表,如果?? 左边是null,那么就返回右边的值,如果左边不是null,那么就返回做编制 1. 问号可选类型可空类型 main() {// ? 问号可选类型,可空类型int? i1 100;i1 null; // null代表空print(i1);} 运行结果 null 解释 int? i1 100; 定义了一个可选类型可空类型的变量 i1它可以存储 int 类型的值也可以是 null。 i1 null; 将 i1 赋值为 null表示该变量不保存任何有效值。 print(i1); 输出 null因为 i1 被赋值为 null。 2. 可选类型的默认值 main() {// 如果可选类型没有赋值初始值,那么默认值是nullint? i2;print(i2);} 运行结果 null 解释 int? i2; 声明了一个可选类型的变量 i2但是没有给它赋初值。 Dart 中可选类型?的变量如果没有显式赋值则默认值是 null。 print(i2); 输出 null因为 i2 没有赋值默认值为 null。 3. 字符串可选类型 main() {String? str;str abc;print(str);} 运行结果 abc 解释 String? str; 声明了一个可选类型的字符串变量 str它可以存储一个 String 类型的值或 null。 str abc; 将 str 赋值为一个非空字符串 abc。 print(str); 输出 abc因为 str 被赋值为字符串 abc。 4. 使用 isEmpty 和 isNotEmpty 判断字符串是否为空 main() {String? str;str abc;​bool r1 str.isEmpty;  // 判断str是否为空字符串此时str为abc返回falser1 str.isNotEmpty;  // 判断str是否不是空字符串此时str为abc返回true​print(r1);} 运行结果 true 解释 str.isEmpty; 判断 str 是否为空字符串。由于 str 的值是 abc它不是空字符串因此 isEmpty 返回 false。 str.isNotEmpty; 判断 str 是否不是空字符串。由于 str 的值是 abc它不是空字符串因此 isNotEmpty 返回 true。 print(r1); 输出 true因为最后 r1 保存的是 str.isNotEmpty 的返回值。 029可空类型叹号强制解包问号双问号运算符trycatch捕获异常 1. 强制解包! // 因为可选类型不能进行 运算,例如 判断是否 60,所以用 !强制解包,把 可选类型变成普通的非空类型// !强制解包,把可选类型变成非可选类型,例如把String?变成String,把int? 变成int但是如果可选类型里面保存的值是null,那么运行报错//把可选类型当做函数形参/*try{//容易出错的代码}catch(e){//出错后执行的代码}*/ score! 是 Dart 中的 强制解包运算符。它的作用是将一个可选类型例如 int?即可以为 null 或 int 的类型转换为非空类型int。 score 是一个 int? 类型的变量意味着它可以存储一个 int 或者 null。但通过 ! 运算符开发者明确告诉 Dart 编译器“我确定 score 不是 null请将其作为非空的 int 来处理。” 如果 score 的值为 null在执行 score! 时Dart 会抛出一个运行时异常程序会中断。 fn1(int? score) {// 强制解包try {score!; // 当强制解包里面存的值是null的时候程序会中断if (score 60) {print(及格);} else {print(不及格);}} catch (e) {print(e$e);}​var s2 score; // 上面的强制解包在try里面作用于不一样这里score没有去掉null还是可选类型score 100;// score!; // 这里运行会有警告因为上面已经给score赋值了0那么编译器已经把score当做int类型来看不能再使用强制解包} 运行结果 如果传递  null 给  score 程序会抛出异常并输出  eNoSuchMethodError: The method was called on null. 如果传递  100 给  score 程序会输出  及格 解释 score! 是强制解包它将可选类型int?转换为非空类型int。如果 score 是 null解包时程序会抛出异常。 在 try-catch 语句中catch 捕获了异常并打印了错误信息。 当 score 被赋值为 100 后强制解包就不会再出错程序判断并输出 及格。 2. 警告强制解包后的类型 score 100;score!;  // 这里运行会有警告因为score已经被赋值为int类型 运行结果 没有输出但会在编译时显示警告 Warning: Operand of null-aware operation ! has type int which excludes null. 解释 score 已经被赋值为 100它的类型变成了 int不再是可选类型 int?。此时再使用 ! 强制解包会导致编译时警告因为 score 已经是一个非空类型! 强制解包不再适用。 3. 双问号运算符?? fn2(String? str) {var str2 str ?? 默认值;print(str2$str2);str“abc”;str;//这里已经变成了String//这里因为str是String所以不能用 ??去运算,会有警告Warning: Operand of null-aware operation ?? has type String which excludes null.} 运行结果 如果传递  abc 给  str 输出  str2abc 如果传递  null 给  str 输出 str2默认值 解释 这段代码处理了 null 值的情况当 str 为 null 时提供一个默认值。 双冒号?? 运算符,代表,如果?? 左边是null,那么就返回右边的值,如果左边不是null,那么就返回左边的值 str.isEmpty;//注意可选类型不能直接使用在String的方法,需要先转化成String类型 var str2 str!;//之前我们用强制解包,但是如果遇到null就会中断,需要用try catch来捕获异常 4. 使用 ?. 运算符 fn3(String? str) {var r1 str?.isEmpty ?? false;print(r1$r1); } 运行结果 如果传递 abc 给 str 输出 r1true 如果传递 null 给 str 输出 r1false 解释 ?. 运算符是可空类型的安全访问运算符。它会检查 str 是否为 null如果是 null则直接返回 null否则调用 isEmpty 方法。 如果 str 是 nullr1 会被赋值为 false通过 ?? 提供默认值。如果 str 是非 null 字符串则调用 isEmpty 方法判断字符串是否为空。 5. 综合示例强制解包与空值判断 main() {fn1(null); fn1(100); int? i1 ;i1 100;var i2i1fn2(abc); fn2(null); fn3(abc); fn3(null); } 运行结果 eNoSuchMethodError: The method was called on null. 及格 str2abc str2默认值 r1true r1false 解释 fn1(null)传递 null 给 score程序会抛出异常并输出错误信息。 fn1(100)传递 100 给 score程序不会抛出异常并输出 及格。 fn2(abc)传递 abc 给 str返回 str 本身输出 str2abc。 fn2(null)传递 null 给 str返回默认值 默认值输出 str2默认值。 fn3(abc)传递 abc 给 str检查是否为空输出 r1true。 fn3(null)传递 null 给 str由于 str 为 null输出 r1false。
http://www.hkea.cn/news/14518624/

相关文章:

  • 网站dns解析怎么改网站域名
  • 网站开发服务费属于哪种进项购物网站开发将商品导入数据库
  • 福州网站制作官网长沙专业公司网站建设源头
  • 做网站如何语音网站开发软件系统
  • 网站建设备案策划书空白网站怎么做
  • 网站建设公司价格差别舞蹈培训机构网站模板
  • 辽宁网站建站wordpress新用户默认
  • 网站开发后台数据怎么来网站服务器建设软件
  • 做网站傻瓜做古玩的网站
  • 网站设计公司要多少钱网站托管
  • 用腾讯云做购物网站视频厚街镇网站建设
  • 河南南阳油田网站建设wordpress后台慢js
  • 网站推广公司傻大白青岛网站排名提升
  • 作品集的个人网站怎么做用手机可以做网站吗
  • 保定网站制作案例中国机械加工最多的地方
  • 做h5动画网站wordpress超精简主题
  • 网站在线开放端口电子商务营销策略分析
  • 控制网站的大量访问软件开发公司需要什么硬件设备
  • 湄洲岛网站建设怎么做查询数据输入的网站
  • 11个免费网站空间包装制品东莞网站建设
  • 做图专业软件下载网站有哪些wordpress 安卓手机写
  • 建立一平台个网站需要多少钱移动端高端网站开发
  • 网站内容管理软件网站建设阐述
  • 188网站开发建设工程质量监督网站
  • 郑州高端网站建设好看的网页设计作品欣赏
  • 网站建设整体设计流程网络软文营销案例
  • 婚礼策划网站高新区网站建设的建议
  • 毕业设计网站设计步骤怎样在阿里云做网站
  • 网站建设公司报价网站建设优秀网站建
  • 贵州网站建设wordpress gif缩略图