首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

flutter--Dart基础语法(二)流程控制、函数、异常

2.1 条件分支结构 Dart 中的条件分支结构就是 if - else 语句,其中 else 是可选的,Dart 的if判断条件必须是布尔值,不能是其他类型。比如下面的例子。...比较的对象必须都是同一个类的实例(并且不可以是子类), 类必须没有对 == 重写。 枚举类型 可以用于 switch 语句。...; } 闭包在 Dart 的 for 循环中会捕获循环的 index 索引值, 来避免 JavaScript 中常见的陷阱。...命名的可选参数也可以标记为 “@required” 。 可选参数可以是命名参数或者位置参数,但一个参数只能选择其中一种方式修饰。...(); 4.2 异常处理 try...catch...finally Dart中的异常处理和Java中的比较类似,也是使用try...catch...finally的语句进行处理,不同的是,Dart中海油一个特殊的关键字

1.4K30

Dart 学习之开发语言概览,带思维导图(一)

一个语句通常包含一个或多个表达式,但是一个表达式不能只包含一个语句。 Dart 工具可以显示 警告 和 错误 两种类型的问题。警告表明代码可能有问题但不会阻止其运行。...即便数字也是如此,因为在 Dart 中一切皆为对象,数字也不例外。...,Dart 的 if 语句中的条件必须是一个布尔值,不能是其它类型 if和else void main(List args) { var bar = false; if (bar...void main(List args) { // for 循环中的闭包会自动捕获循环的 索引值 以避免 JavaScript 中一些常见的陷阱 var list = [];...第二次被跳过了,循环继续 } } switch 和 case Switch 语句在 Dart 中使用 == 来比较整数、字符串或编译时常量,比较的两个对象必须是同一个类型且不能是子类并且没有重写

1.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    『Flutter开发实战』一小时掌握Dart语言

    默认值 在 Dart 中,未初始化的变量拥有一个默认的初始化值:null。即便数字也是如此,因为在 Dart 中一切皆为对象,数字也不例外。...Maps 通常来说,Map 是用来关联 keys 和 values 的对象。其中键和值都可以是任何类型的对象。每个 键 只能出现一次但是 值 可以重复出现多次。...的 if 语句中的条件必须是布尔值而不能为其它类型。...; } 在 Dart 语言中,for 循环中的闭包会自动捕获循环的 索引值 以避免 JavaScript 中一些常见的陷阱。...Switch 语句中使用枚举,但是需要注意的是必须处理枚举值的每一种情况,即每一个枚举值都必须成为一个 case 子句,不然会出现警告: var aColor = Color.blue; switch

    5.1K10

    Dart In Action -Dar的基本数据类型(一)

    在Dart VM上,值可以是-263到263 - 1.编译为JavaScript的Dart使用JavaScript 数字,允许从-253到253 - 1的值。...(按位运算符,如>>,在int类中有定义。)如果num及其子类没有您要想要内容,那dart:math库可能有您想要的。 整数是没有小数点的数字。...'; 有关如何在字符串中表示Unicode字符的详细信息,请参阅Runes。 文字字符串是编译时常量,只要任何插值表达式是一个编译时常量,其值为null或数值,字符串或布尔值。...布尔值 为了表示布尔值,Dart有一个名为bool的类型。 只有两个对象具有bool类型: true和false,它们都是编译时常量。...List类型有许多方便的方法来操作列表。 有关列表的更多信息,请参阅泛型和集合。 映射 通常,映射是一个有键和值的对象。 键和值都可以是任何类型的对象。 每个键只出现一次,但您可以多次使用相同的值。

    2.5K20

    《Flutter》-- 3.Dart语言

    除了融合Java和JavaScript所长之外,Dart还提供了一些其他具有表现力的语法,如可选命名参数、级联运算符和条件成员访问运算符等。 使用Dart之前,需要先安装Dart SDK。...Dart SDK包含了编写和运行Dart代码所需的一切工具,如虚拟机(Virtual Machine,VM)、库、分析器、包管理工具、文档生成器和代码调试等。...final变量的值只能被设置一次,const变量的值在编译时就已经固定。 实例变量可以是final变量,但不能是const变量。 const还可以用来创建常量值,以及声明创建常量值的构造函数。...keys 和 values 可以是任何类型的对象。在一个 Map 对象中一个 key 只能出现一次,但是 value 可以出现多次。...如果assert修饰的语句中的判断结果为false,那么正常的程序执行流程会被中断;如果assert修饰的判断条件结果为true,则继续执行后面的语句。

    3K20

    C语言:分支与循环

    二、switch语句 除了 if 语句外,C语⾔还提供了 switch 语句来实现分⽀结构。 switch 语句是⼀种特殊形式的 if...else 结构,⽤于判断条件有多个结果的情况。...只有在 switch 语句中使⽤ break 才能在跳出 switch 语 句,如果某⼀个 case 语句的后边没有 break 语句,代码会继续玩下执行,按顺序执行其他 case 语句中的代码,直到遇到...在使⽤ switch 语句的时候,我们经常可能遇到⼀种情况,⽐如 switch 后的表达式中的值⽆法匹配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch 语句中加⼊ default...首先上来就是执行判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执行循环语 句,语句执⾏完后再继续判断,是否进行下⼀次判断。...所以在 do while 语句中循环体是⾄少执行⼀次的,这是 do while 循环比较特殊的地⽅。 练习:输⼊⼀个正整数,计算这个整数是⼏位数?

    18710

    T-SQL进阶:超越基础 Level 2:编写子查询

    可以在任何可以使用表达式的地方使用子查询。许多子查询返回单个列值,因为它们与比较运算符(=,!=,,> =)或表达式结合使用。当子查询不用作表达式或使用比较运算符时,它可以返回多个值。...返回单个值的子查询的示例 如上所述,在表达式中使用的子查询或返回比较运算符一侧的值需要返回单个值。...接下来的几个例子将使用返回多个值和/或多个列的子查询。 FROM子句中的子查询示例 在FROM子句中,通常会标识您的Transact-SQL语句将对其执行的表或表的集合。...清单10中的代码显示了如何在INSERT语句中使用子查询。...当用作表达式或在比较操作中时,子查询需要返回一个列值。当子查询与IN关键字一起使用时,它可以返回列的单个或多个值。如果在FROM子句中使用子查询,它只能返回一列和一个值,但也可以返回多个列和值。

    6K10

    C语言——C分支和循环

    前言 C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种结构的组合。...C语⾔中, 0 表⽰假,所有⾮零值表⽰真。⽐如, 20 > 12 返回 1 , 12 > 20 返回 0 ,关系表达式常⽤于 if 或 while 结构。...if... else 结构,⽤于判断条件有多个结果的情况。...default 在使⽤ switch 语句的时候,我们经常可能遇到⼀种情况,⽐如 switch 后的表达式中的值⽆法匹配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch...所以在 do while 语句中循环体是⾄少执行一次,这是 do while 循环⽐较特殊的地方。

    13610

    Dart的语法详解系列篇(二)-- 类与函数八、Dart的类与函数

    5.命名构造函数 Dart不像java可以使用多个同名不同参数构造。但是Dart提供了命名构造。使用命名构造函数为类实现多个构造函数或提供更多的解释说明。...Dart的函数最好玩的就是这个可选参数了,就是可以声明多个参数,使用时可以调用其中的某一个或者多个参数,与参数位置无关。 1.可选参数的基本使用 可选参数的定义方式:{参数1,参数2,,...}...当其中一个这样的内部函数在包含它们的外部函数之外被调用时,就会形成闭包。 a....为避免任何意外的副作用,只需调用一次getter,将其值保存在临时变量中。 (10)抽象方法 实例,getter和setter方法可以是抽象的,定义一个接口,但将其实现留给其他类。...如果要在不继承B实现的情况下创建支持B类API的A类,则A类应实现B接口。 一个类通过在implements子句中声明它们然后提供接口所需的API来实现一个或多个接口。

    3K30

    35分钟教你学dart(第二节)

    您将在控制台中看到变量的值35。 第一次飞镖输出 注释 Dart 中的注释与 C 和其他语言中的注释类似:后面的文本//是单行注释,而其中的文本/* ... */是多行注释块。...:] Dart bool 数据类型 操作符 Dart 具有您在其他语言(如 C、Swift 和 Kotlin)中熟悉的所有常用运算符。...Dart 运算符的一些示例包括: 算术 == 递增和递减 比较 逻辑运算符 注意:Dart 还允许运算符重载,就像在 C++ 和 Kotlin 中一样,但这超出了本教程的范围。...= 43); // true 比较运算符 Dart 使用典型的比较运算符: 小于 (<) 大于 (>) 等于 (=>) 这里有些例子: print(42 Dart 2.12 开始,Dart 加入了其他语言,如 Swift 和 Kotlin,默认情况下不可为空。 此外,Dart保证不可为空的类型永远不会包含空值。这被称为空安全。

    13.1K30

    详解分支和循环结构(剖析if语句,switch语句,while循环,for循环,do-while循环)

    介绍 C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种结构的组合。...则执行default switch语句中的case和default的顺序问题 在 switch语句中 case ⼦句和 default⼦句有要求顺序吗?...循环结构 while循环 while(表达式) 语句; while语句具体执行流程: 首先上来就是执行判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执⾏循环语句,语句执行完后再继续判断...输入一个正的整数,逆序打印这个整数的每一位 eg:输⼊:1234,输出:4 3 2 1 题目解析: 要想得到n的最低位,可以使⽤n%10的运算,得到的余数就是最低位,如:1234%10得到4 要想去掉...=0,则继续循环,执行循环语句;判断表达式的结果==0,则循环结束。 所以在 do while 语句中循环体是⾄少执行一次的,这是 do while循环比较特殊的地⽅。

    24910

    Flutter Platform Channels(二)

    它所做的就是构造一个问候语字符串并将其返回给调用者,因此我们可以在合理的假设下对平台调用进行编码,这将不会失败(我们将在下面进一步讨论错误处理): // 简单情况下调用平台方法 // Dart side...这意味着前面描述的“类JSON”值都支持作为方法参数和(成功)结果。 特别是,异构列表支持多个参数,而异构映射支持命名参数。 默认参数值为null。...上面的代码示例突出显示method channels 在Dart,Android和iOS上返回处理结果的方式很不一样: 在Dart方面,调用由返回值为Future的方法处理。...在Dart端,参数(如果有的话)在receiveBroadcastStream的调用中给出。 这意味着它们只被指定一次,无论在流的生命周期中发生的onListen和onCancel的调用次数如何。...(双关语)。当为使用platform channels的Dart代码编写单元测试时,一个下意识的反应可能是模拟channel对象,就像模拟网络连接一样。

    2.9K00

    Flutter 入门指北之 Dart

    int 默认为 0.)如果需要定义常量,可以通过 final 和 const 进行定义,final 变量只能赋值一次,const 是编译时常量。...,不会进行换行 Booleans Dart 中,只有 true 对象才被认为是 true, 所有其他的值都是 false Lists 列表,例如:var list = [1, 2,...Operators 操作符几乎和别的语言类似,提个比较特殊的赋值操作符 ??= 和 ?.操作符 var a = 1; var b ??...Switch and case 如果需要实现继续到下一个 case 语句中继续执行,则可以 使用 continue 语句跳转到对应的标签处继续执行 var command = 'Close'; switch...Dart 通过命名构造函数为类创建多个构造函数,同时指明意图 class Size { num x, y; Size(this.x, this.y); Size.fromJson(Map

    85850

    Dart-类(上)

    age years old."); }}void main() { var person = Person("Alice", 30); person.introduce();}运行结果:在上面简单的介绍了下如何在...使用类名作为构造函数(如 Person(this.name, this.age)),允许有多个命名构造函数JavaScript 使用 constructor 关键字定义构造函数属性访问Dart 中,你可以直接定义属性和它们的类型...(如 String name;)JavaScript 中,属性通常在构造函数内通过 this 关键字定义字符串插值Dart 使用 $ 符号进行字符串插值(如 "$name")JavaScript 使用...${} 语法进行字符串插值类型系统Dart 是一种 强类型 语言,需要显式地定义变量和返回值的类型JavaScript 是弱类型语言,类型是动态的静态方法和静态属性静态方法和静态属性是类级别的成员,这意味着它们不属于任何特定的实例...,而是属于类本身在 Dart 和 JavaScript 中都是可行的,尽管它们的实现方式略有不同Dart 中的静态方法和属性在 Dart 中,你可以使用关键字 static 来定义静态方法和属性这些成员可以通过类名直接访问

    18610

    flutter代码风格指南

    ,使用 lowerCamelCase 来命名常量,包括枚举的值。...我们之所以不再使用,是因为: •SCREAMING_CAPS 很多情况下看起来比较糟糕, 尤其类似于 CSS 颜色这类的枚举值•常量常常被修改为 final 类型的非常量变量, 这种情况你还需要修改变量的名字为小写字母形式...•在枚举类型中自动定义的 values 属性为常量并且是小写字母 形式的 要把超过两个字母的首字母大写缩略词和缩写词当做一般单词来对待 首字母大写缩略词比较难阅读, 特别是多个缩略词连载一起的时候会引起歧义...:” 导入语句放到其他语句之前 如果你使用了多个 “package:” 导入语句来导入自己的包以及其他外部扩展包, 推荐将自己的包分开放到一个额外的部分 import 'package:bar/bar.dart...这样可以方便搜索某一个路径下的代码文件。 我们对 URI 和文件路径做了例外。当情况出现在注释或字符串是(通常在导入和导出语句中), 即使文字超出行限制,也可能会保留在一行中。

    1.2K20

    我与C语言二周目邂逅vlog——3.分⽀和循环

    switch 语句是⼀种特殊形式的 if...else 结构,⽤于判断条件有多个结果的情况。它把多重 的 else if 改成更易⽤、可读性更好的形式。...如果找不到对应的值, 就执⾏ default 分⽀。...• switch 后的 expression 必须是整型表达式 • case 后的值,必须是整形常量表达式 5.1 break 只有在 switch 语句中使⽤ break 才能在跳出 switch...语 句,如果某⼀个 case 语句的后边没有 break 语句,代码会继续往下执⾏,有可能执⾏其他 case 语句中的代码,直到遇到 break 语句或者 switch 语句结束。...5.2 default 在使⽤ switch 语句的时候,我们经常可能遇到⼀种情况,⽐如 switch 后的表达式中的值⽆法匹 配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch

    7810

    【C语言篇】分支语句详解(超详细)

    分支语句详解 前言 C语⾔是结构化的程序设计语⾔,这⾥的结构指的是顺序结构、选择结构、循环结构,C语⾔是能够实现这三种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种结构的组合...⽐如:要求输⼊⼀个整数,判断输⼊的整数是0,还是正数或者负数。...这就是悬空 else 的问题,如果有多个 if 和 else ,else 总是跟最接近的if 匹配。...switch语句 除了 if 语句外,C语⾔还提供了 switch 语句来实现分⽀结构。 switch 语句是⼀种特殊形式的if...else 结构,⽤于判断条件有多个结果的情况。...switch语句中的default 在使⽤ switch语句的时候,我们经常可能遇到⼀种情况,⽐如 switch 后的表达式中的值⽆法匹配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在

    15110

    【C语言】分支语句详解

    嵌套if: 在 if else 语句中,else 可以与另⼀个 if 语句连⽤,构成多重判断。⽐如:要求输⼊⼀个整数,判断输⼊的整数是0,还是正数或者负数。..."⽼寿星" 答案放在本文最下方 二、关系操作符 C 语⾔⽤于⽐较的表达式,称为 “关系表达式”,⾥⾯使⽤的运算符就称为“关系运算符”,主要有下⾯6个 运算符分类 • >是大于运算符 • 中一个表达式满足条件,即其中一个表达式为真,那么结果为真,比如同样表达3月到5月之间是春天,使用逻辑或表达如下: 解析:这里有三个条件,要么月份等于3,要么月份等于...switch 语句是⼀种特殊形式的 if…else 结构,⽤于判断条件有多个结果的情况。...就⽐如上⾯的代码就执⾏了case 0 的语句,还执行了case 1 中的语句 Switch语句中的default: 如果我们输入的值不在我们的case中,那么我们就会用到default,用来排除其他情况

    7210
    领券