Flutter循序渐进==>Dart之类型、控制流和循环

导言

磨刀不误砍柴工,想搞好Flutter,先学好Flutter,还是本着我学Python的方法,先从数据类型、控制流和循环开始,这是每一种编程语言必用的。编程语言是相通的,基本精通一种后,学其它的就变得很容易了。

在Dart中,List<Object> 表示一个列表,其中可以包含任何类型的对象。这是因为 Object 是Dart中所有类的基类,所以任何类型的实例都是 Object 的子类。当你声明一个 List<Object> 时,你实际上创建了一个可以接受任何对象的列表,无论是基本数据类型如 intdoubleStringbool,还是其他复杂类型如自定义类的实例。

代码


void main() {print('------------------------类型--------------------------------------');//常量final String language = 'English';//数int marks = 100;double pi = 3.14;//字符串var name = '我';var app = 'FlutterApp';print('${name}要做${app}');//布尔bool isValid = true;//列表List mylist = [1,2,3];var yourlist = [1,2,3,8];//var heart_symbol = '\u2665';//Null安全性,字符串不能为空;如果要把空值赋给字符串,加个问号,问号的意思是可赋空。String? nullableString = null;//自己封装一个小函数玩一玩,这样就跟Python里面的type函数一样方便了mytype(type){dynamic itype = type.runtimeType.toString();//print('类型:$type的类型是$itype');return itype;}mytype(nullableString);mytype(language);mytype(pi);mytype(marks);mytype(name);mytype(isValid);mytype(mylist);mytype(yourlist);mytype(heart_symbol);print('------------------------控制流--------------------------------------');//控制流的if---else,只要满足第一个就完了,后面的直接pass,这都是平行的条件。if (mytype(language)!='String'){print('控制流:语言是字符串');} else if (mytype(pi)=='double'){print('控制流:pi的类型是double');}else{print('控制流:语言不是字符串!');}dynamic type = mytype(pi);switch(type){case 'String':print('$pi控制流switch-case:String');break;case 'double':print('$pi控制流switch-case:double');break;}print('------------------------循环--------------------------------------');//各种循环写法for (int i = 0; i<=mylist.length-1; i++){print('${mylist[i]}');}int i = 0;while (i < mylist.length){print('${mylist[i]}');i++;}int num = 0;do {print('${mylist[num]}');num++;} while (num < mylist.length);
}

运行效果

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

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

相关文章

捡到AI系统,金曲创作全靠玩

前言 毫无疑问,AI的发展已经在音乐领域带来了诸多变化和影响.但人类创作仍然具有不可替代的重要性。人类的灵感、创造力以及对音乐的深刻理解和情感表达是音乐产业的核心动力来源。AI 更倾向于被视为一种辅助工具&#xff0c;与人类创作者相互协作和融合&#xff0c;共同推动音…

laravel Dcat Admin 入门应用(七)列copyable和自定义copy

laravel Dcat Admin 入门应用&#xff08;七&#xff09;列copyable和自定义copy Dcat Admin 是一个基于 Laravel-admin 二次开发而成的后台构建工具&#xff0c;只需很少的代码即可构建出一个功能完善的高颜值后台系统。支持页面一键生成 CURD 代码&#xff0c;内置丰富的后台…

Go语言测试第二弹——基准测试

在前一篇文章中&#xff0c;我们讲解了Go语言中最基础的单元测试&#xff0c;还没有看过的可以自行去查看&#xff0c;这篇文章我们详细了解Go语言里面的基准测试。 基准测试 基准测试&#xff0c;也就是BenchmarkTest&#xff0c;基准测试是用来测试代码性能的的一种方法&…

【机器学习300问】136、C4.5虽然改善了ID3决策树算法的部分缺点,但还是有不足,请问还有更好的算法吗?CART算法构建决策树

一、C4.5算法仍存在的不足 &#xff08;1&#xff09;计算效率不高 C4.5使用的信息增益率计算涉及熵的对数计算&#xff0c;特别是当属性值数量大时&#xff0c;计算成本较高。 &#xff08;2&#xff09;处理连续数值属性不够高效 ID3算法只能处理离散属性&#xff0c;需要预…

kafka学习笔记08

Springboot项目整合spring-kafka依赖包配置 有这种方式&#xff0c;就是可以是把之前test里的配置在这写上&#xff0c;用Bean注解上。 现在来介绍第二种方式&#xff1a; 1.添加kafka依赖&#xff1a; 2.添加kafka配置方式: 编写代码发送消息&#xff1a; 测试&#xff1a; …

c++11、14多线程从原理到线程池

c11、14多线程从原理到线程池 一.初识二.std::thread对象生命周期和线程等待与分离1.主线程不退出&#xff0c;thread对象被销毁&#xff0c;子线程仍然在运行。2.主线程阻塞&#xff0c;等待子线程退出3.子线程与主线程分离&#xff08;守护线程&#xff09; 三.线程创建的多种…

【Android面试八股文】请描诉Activity的启动流程,从点击图标开始。

当用户点击应用程序图标启动一个 Activity 时,涉及的整个流程可以梳理如下: 1. 用户点击应用程序图标 用户在设备的主屏幕或应用列表中点击应用程序图标,触发应用程序启动事件。 2. 系统接收启动请求 Intent 解析: 系统接收到用户点击事件后,会创建一个包含目标 Activi…

在实施数据加密时,有哪些常见的加密技术可供选择?

在实施数据加密时&#xff0c;有哪些常见的加密技术可供选择&#xff1f; 在实施数据加密时&#xff0c;有许多常见的加密技术可供选择&#xff0c;这些技术根据其原理、安全性、效率和适用场景有所不同。以下是一些常见的加密技术&#xff1a; 对称加密&#xff08;Symmetri…

Nuxtjs3教程

起步 官方文档 官方目录结构 安装 npx nuxi@latest init <project-name>后面跟着提示走就行 最后yarn run dev 启动项目访问localhost:3000即可 路由组件 app.vue为项目根组件 <nuxt-page />为路由显示入口 将app.vue更改内容如下 <template><d…

C# enum Enumeration Type 枚举

定义枚举使用枚举访问枚举值枚举与switch语句枚举特性枚举与位字段总结 在 C#中&#xff0c; enum 是一种特殊的值类型&#xff0c;它允许你为一组相关的常量定义一个名称。枚举提供了一种将一组整数值与更易读的名称关联起来的方法。 定义枚举 你可以使用 enum 关键字来定义…

C语言的数据结构:树与二叉树(哈夫曼树篇)

前言 上篇讲完了二叉树&#xff0c;二叉树的查找性能要比树好很多&#xff0c;如平衡二叉树保证左右两边节点层级相差不会大于1&#xff0c;其查找的时间复杂度仅为 l o g 2 n log_2n log2​n&#xff0c;在两边层级相同时&#xff0c;其查找速度接近于二分查找。1w条数据&am…

什么是中断?---STM32篇

目录 一&#xff0c;中断的概念 二&#xff0c;中断的意义 三&#xff0c;中断的优先级 四&#xff0c;中断的嵌套 如果一个高优先级的中断发生&#xff0c;它会立即打断当前正在处理的中断&#xff08;如果其优先级较低&#xff09;&#xff0c;并首先处理这个高优…

uniapp+php开发的全开源多端微商城完整系统源码.

uniappphp开发的全开源多端微商城完整系统源码. 全开源的基础商城销售功能的开源微商城。前端基于 uni-app&#xff0c;一端发布多端通用。 目前已经适配 H5、微信小程序、QQ小程序、Ios App、Android App。 采用该资源包做商城项目&#xff0c;可以节省大量的开发时间。 这…

网页摘要生成算法的一点探索

网页摘要生成算法是一个复杂的过程&#xff0c;涉及多个步骤和不同的技术。以下是一个基于参考文章信息的清晰回答&#xff0c;对网页摘要生成算法进行了分点表示和归纳&#xff1a; 1. 算法概述 网页摘要生成算法的主要目标是自动从网页内容中提取关键信息&#xff0c;并生成简…

【第8章】MyBatis-Plus持久层接口之ActiveRecord

文章目录 前言一、使用步骤1. 继承 Model 类2. 调用 CRUD 方法 二、使用提示总结 前言 ActiveRecord 模式是一种设计模式&#xff0c;它允许实体类直接与数据库进行交互&#xff0c;实体类既是领域模型又是数据访问对象。在 Mybatis-Plus 中&#xff0c;实体类只需继承 Model …

周边美食小程序系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;美食店铺管理&#xff0c;菜品分类管理&#xff0c;标签管理&#xff0c;菜品信息管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;美食店铺&#…

操作系统期末复习(选择题判断题(二))

选择题 1.临界区是。 A.一段共享数据区 B.一个缓冲区 C.一段互斥执行的程序段 D.一个互斥资源 2. 生产者一消费者问题中&#xff0c;当时表示缓冲池满。 A.inmod n out B&#xff08;in&#xff0b;1&#xff09;mod n out C.&#xff08;in-1&#xff09;mod n o…

基于SSM+Jsp的疫情居家办公OA系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

20-OWASP top10--XXS跨站脚本攻击

目录 什么是xxs&#xff1f; XSS漏洞出现的原因 XSS分类 反射型XSS 储存型XSS DOM型 XSS XSS漏洞复现 XSS的危害或能做什么&#xff1f; 劫持用户cookie 钓鱼登录 XSS获取键盘记录 同源策略 &#xff08;1&#xff09;什么是跨域 &#xff08;2&#xff09;同源策略…

面试官:MySQL并发事务是如何处理

1. 并发事务的挑战 开发人员在并发编程中经常面临安全性和一致性问题。通常采用同步机制和锁机制来解决这些问题&#xff0c;例如Java中的synchronized关键字和Lock接口。 2. MySQL并发事务情况 数据的读写操作基于数据页。并发事务可能存在的类型&#xff1a; 读/读读/写写…