【Flutter】Dart 技巧 ( 独立主函数入口 | 可空类型判定 | 默认值设定 )

举报
韩曙亮 发表于 2022/01/10 23:13:35 2022/01/10
【摘要】 文章目录 一、独立主函数入口二、可空类型判定三、默认值设定四、完整代码示例五、 相关资源 一、独立主函数入口 在 dart 文件中声明 main() 函数 , 即可...





一、独立主函数入口



在 dart 文件中声明 main() 函数 , 即可脱离 Flutter 环境 , 独立执行该 main 函数 ;

/// 可脱离 Flutter 环境独立执行的函数
void main(){
  print("main");
}

  
 
  • 1
  • 2
  • 3
  • 4

main 函数左侧有两个三角的图标 , 单击该按钮 , 即可执行该 main 函数 ;

在这里插入图片描述





二、可空类型判定



可空类型判定 : 不确定对象是否为空 , 通过 ?. 的方式调用 , ( 类似于 Kotlin 的可空类型调用 ) , ? 的作用是先判定是否为空 , 如果为空 , 就终止调用 , 不会报空指针异常 ;

/// 可脱离 Flutter 环境独立执行的函数
void main(){
  print("main");

  Student student;
  /// 1. 安全调用 : 不确定对象是否为空 , 通过 ?. 的方式调用
  /// ( 类似于 Kotlin 的可空类型调用 )
  /// ? 的作用是先判定是否为空 , 如果为空 , 就终止调用
  print("打印 student 名字 : ${student?.name}");

}

class Student{
  String name;
  int age;
  Student(this.name, this.age);
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

执行结果 :

main
打印 student 名字 : null

  
 
  • 1
  • 2




三、默认值设定



使用 ?? 可以为某个空值设置一个默认值 , 如果某个值没有获取到 , 或者获取到为空 , 可以为该变量或表达式设置一个默认值 ;

student?.name??"Tom"

  
 
  • 1

上述代码的作用是如果 student?.name 值为空 , 则返回 “Tom” 默认值 ;

代码示例 :

  /// 2. 设置默认值
  /// 使用 ?? 可以为某个空值设置一个默认值
  /// 这里如果 student?.name 为空 , 则默认值是 "Tom"
  print("打印 student 名字 : ${student?.name??"Tom"}");

  
 
  • 1
  • 2
  • 3
  • 4

执行结果 :

打印 student 名字 : Tom

  
 
  • 1




四、完整代码示例



完整代码示例 :


/// 可脱离 Flutter 环境独立执行的函数
void main(){
  print("main");

  Student student;
  /// 1. 安全调用 : 不确定对象是否为空 , 通过 ?. 的方式调用
  /// ( 类似于 Kotlin 的可空类型调用 )
  /// ? 的作用是先判定是否为空 , 如果为空 , 就终止调用
  print("打印 student 名字 : ${student?.name}");

  /// 2. 设置默认值
  /// 使用 ?? 可以为某个空值设置一个默认值
  /// 这里如果 student?.name 为空 , 则默认值是 "Tom"
  print("打印 student 名字 : ${student?.name??"Tom"}");

}

class Student{
  String name;
  int age;
  Student(this.name, this.age);
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

代码执行结果 :

main
打印 student 名字 : null
打印 student 名字 : Tom

  
 
  • 1
  • 2
  • 3




五、 相关资源



参考资料 :


博客源码下载 :

文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。

原文链接:hanshuliang.blog.csdn.net/article/details/114064605

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。