变量

作者: 星空WU | 来源:发表于2021-01-17 09:35 被阅读0次

变量仅存储对象引用

这里的变量是 name 存储了一个 String 类型的对象引用。 “Bob” 是这个 String 类型对象的值。

.1)默认值

    未初始化的变量默认值是 null。即使变量是数字 类型默认值也是 null,因为在 Dart 中一切都是对象,数字类型 也不例外

    提示: 在生产环境代码中 assert() 函数会被忽略,不会被调用。 在开发过程中, assert(condition) 会在非 true 的条件下抛出异常.有关更多信息,参考 Assert.

2)final 和const

final 修饰的变量不能修改

    final name4 = 'Bob';

    如果需要在编译时就固定变量的值,可以使用 const 类型变量。 如果 Const 变量是类级别的,需要标记为 static const。 在这些地方可以使用在编译时就已经固定不变的值,字面量的数字和字符串, 固定的变量,或者是用于计算的固定数字:

    const bar =10000;

    Const 关键字不仅可以用于声明常量变量。 还可以用来创建常量值,以及声明创建常量值的构造函数。 任何变量都可以拥有常量值。

    声明 const 的初始化表达式中 const 可以被省略。 比如上面的 baz。

    非 Final , 非 const 的变量是可以被修改的,即使这些变量 曾经引用过 const 值

3) 内建类型

     Dart 语言支持以下内建类型:Number

String

Boolean

List (也被称为 Array)

Map

Set

Rune (用于在字符串中表示 Unicode 字符)

Symbol

这些类型都可以被初始化为字面量。 例如, 'this is a string' 是一个字符串的字面量, true 是一个布尔的字面量

  因为在 Dart 所有的变量终究是一个对象(一个类的实例), 所以变量可以使用 构造涵数 进行初始化。 一些内建类型拥有自己的构造函数。 例如, 通过 Map() 来构造一个 map 变量。

Number类型

     Number 有两种类型: int,double

    字符串可以通过 ${expression} 的方式内嵌表达式。 如果表达式是一个标识符,则 {} 可以省略。 在 Dart 中通过调用就对象的 toString() 方法来得到对象相应的字符串

    运算符用来测试两个对象是否相等。 在字符串中,如果两个字符串包含了相同的编码序列,那么这两个字符串相等, 例如 'AB' = 'ab'.

    可以使用 + 运算符来把多个字符串连接为一个

  //使用连续三个单引号或者三个双引号实现多行字符串对象的创建:

使用 r 前缀,可以创建 “原始 raw” 字符串,例如使换行符不再起作用

    一个编译时常量的字面量字符串中,如果存在插值表达式,表达式内容也必须是编译时常量, 那么该字符串依旧是编译时常量。 插入的常量值类型可以是 null,数值,字符串或布尔值    

bool

    使用 bool 类型表示布尔值,Dart 只有字面量 true and false 是布尔类型, 这两个对象都是编译时常量。

list

     几乎每种编程语言中最常见的集合可能是 array 或有序的对象集合。 在 Dart 中的 Array 就是 List 对象, 通常称之为 List

    在 List 字面量之前添加 const 关键字,可以定义 List 类型的编译时常量:不能修改值,否则报错!

Set

    在 Dart 中 Set 是一个元素唯一且无序的集合。 Dart 为 Set 提供了 Set 字面量和 Set 类型

     是 Set 还是 Map ? Map 字面量语法同 Set 字面量语法非常相似。 因为先有的 Map 字母量语法,所以 {} 默认是 Map 类型。 如果忘记在 {} 上注释类型或赋值到一个未声明类型的变量上, 那么 Dart 会创建一个类型为 Map<dynamic, dynamic> 的对象

    使用 add() 或 addAll() 为已有的 Set 添加元素

Map:

    Map 是用来关联 keys 和 values 的对象。 keys 和 values 可以是任何类型的对象。在一个 Map 对象中一个 key 只能出现一次。 但是 value 可以出现多次。

提示: 这里为什么只有 Map() ,而不是使用 new Map()。 因为在 Dart 2 中,new 关键字是可选的。 有关更多信息,参考 构造函数的使用。

    如果 Map 中不包含所要查找的 key,那么 Map 返回 null:

创建 Map 类型常量,要在 Map 字面量前加上关键字 const

相关文章

  • mysql变量

    变量 /*系统变量:全局变量会话变量 自定义变量:用户变量局部变量 */ 一、系统变量 /*说明:变量由系统定义,...

  • mysql存储过程和函数149-169

    变量 /*系统变量:全局变量会话变量自定义变量:用户变量局部变量*/ 一、系统变量 说明:变量有系统提供,不是用户...

  • php 变量和常量

    一、变量 创建变量以 $ 开头,以 ; 结尾 可变变量从变量中解析出变量名 变量赋值 将变量b 将变量b 销毁变量...

  • Golang入门一:变量

    变量声明 变量初始化 变量赋值 变量交换 匿名变量

  • bash脚本编程-变量,变量类型

    bash变量类型: 环境变量,本地变量,位置变量,特殊变量。 本地变量: bash: VARNAME=value ...

  • MySQL(十八)变量

    系统变量:全局变量、会话变量 自定义变量:用户变量、局部变量 一、系统变量 说明:变量由系统定义,不是用户定义,属...

  • 类,变量,迭代器

    1、变量 python中实际有4种变量,分别是全局变量,类变量,实例变量,局部变量。 - 全局变量:类之外的变量,...

  • Linux下的变量

    Linux下的变量 Linux变量 Linux下的变量主要分为三种:本地变量、环境变量和位置变量本地变量本地变量是...

  • 变量及检测数据类型

    变量定义var 变量名 = 变量值; 先定义在赋值var 变量名; 变量名 = 变量值; 定义多个变量var 变量...

  • Java学习笔记-1.4.2变量的分类

    变量的分类 从整体上可将变量划分为局部变量、成员变量(也称为实例变量)和静态变量 局部变量、成员变量、静态变量的区...

网友评论

      本文标题:变量

      本文链接:https://www.haomeiwen.com/subject/xoleaktx.html