1.Variables-变量(Dart中文文档)
- 初次翻译,部分内容并非按字面翻译,是按本人理解进行了内容重组。如有错误望指正。
如下是变量定义和赋值的示例
var name = 'Bob';
变量存储的是一个引用地址。如上的变量name指向了一个值为Bob的String对象。通过var 定义变量是未明确指定类型的,由运行时VM自动推断,你也可以明确指定类型,如下代码
String name = 'Bob';
如果变量无法确定类型,也可以将其定义为Object或者dynamic。
dynamic name = 'Bob';
Object name2 ='Bob';
建议:local variables(本地变量的意思,感觉叫局部变量更合适) 建议使用var定义,而不要明确指定类型。
默认值
未初始化的变量默认值都是null,即便是numeric类型的变量,因为在Dart中所有类型都是对象(Even variables with numeric types are initially null, because numbers—like everything else in Dart—are objects.)。
int lineCount;
assert(lineCount == null);
注意:assert()函数在生产模式下将被忽略,只有在开发模式下,assert(condition)在condition==false情况下,抛出异常。
final and const
如果你不想让一个变量被改变,可以是用final或者const修饰符来替换var或者类名。final变量只能赋值一次,const变量是一个编译常量(我理解的是Dart编译后,该变量固定,不可改变)。顶层final变量或者类成员变量在其第一次访问时初始化。
注意:类成员变量可以是final修饰,但不可以是const修饰(通过增加static就可以)。final修饰的类成员变量必须在普通成员变量,构造参数,构造器初始化列表之前初始化(不太理解:Final instance variables must be initialized before the constructor body starts — at the variable declaration, by a constructor parameter, or in the constructor’s initializer list)
这是final变量定义和赋值的示例
final name = 'Bob'; // Without a type annotation
final String nickname = 'Bobby';
You can’t change the value of a final variable:
name = 'Alice'; // Error: a final variable can only be set once.
如果const变量是在类中定义,还要对变量增加static修饰符。
class test(){
static const param ='dddd';
}
(没看懂这块要表述什么,就是常量可以进行算数运算赋值的意思吗)
Where you declare the variable, set the value to a compile-time constant such as a number or string literal, a const variable, or the result of an arithmetic operation on constant numbers:
const bar = 1000000; // Unit of pressure (dynes/cm2)
const double atm = 1.01325 * bar; // Standard atmosphere
const不仅仅用来修饰变量,也可以用来创建常量值。
var foo = const [];
final bar = const [];
const baz = []; // Equivalent to `const []`
# 这个baz定义和上面是等效的,不过不建议多次定义,显得冗余
const baz = const [];
你可以改变一个非final或者const修饰的变量,尽管它原先被赋值了一个常量值,你不能改变const修饰的变量
foo = [1, 2, 3]; // Was const []
baz = [42]; // Error: Constant variables can't be assigned a value.
- 第二篇准备翻译 Built-in types 基本数据类型
1.Variables-变量(Dart中文文档)的更多相关文章
- 2.Built-in types-基本数据类型(Dart中文文档)
初次翻译,部分内容并非按字面翻译,是按本人理解进行了内容重组.如有错误望指正. Dart语言内置如下数据类型: numbers strings booleans lists (所谓的数组) maps ...
- 7.Classes-类(Dart中文文档)
Dart是一个面向对象的语言,同时增加了混入(mixin)继承的特性.对象都是由类初始化生成的,所有的类都由Object对象继承.混入继承意味着尽管所有类(除了Object类)只有一个父类,但是类的代 ...
- 3.Functions-函数(Dart中文文档)
初次翻译,部分内容并非按字面翻译,是按本人理解进行了内容重组.如有错误望指正. Dart是完全的面向对象的语言,甚至函数也是一个Function类型的对象.这意味着函数可以赋值给变量或者作为函数的参数 ...
- 8.Generics 泛型(Dart中文文档)
这篇翻译的不好 如果你看API文档中的数组篇,你会发现类型一般写成List.<...>的写法表示通用类型的数组(未明确指定数组中的数据类型).通常情况泛型类型用E,T,S,K,V表示. W ...
- 6.Exceptions-异常(Dart中文文档)
异常是用于标识程序发生未知异常.如果异常没有被捕获,If the exception isn't caught, the isolate that raised the exception is su ...
- 5.Control flow statements-流程控制(Dart中文文档)
你可以使用如下流程控制符: if and else for loops while and do-while loops break and continue switch and case asse ...
- 4.Operators-操作符(Dart中文文档)
Dart有如下操作符: Description Operator unary postfix expr++ expr-- () [] . ?. unary prefix -expr !expr ~ex ...
- Flutter 中文文档网站 flutter.cn 正式发布!
在通常的对 Flutter 介绍中,最耳熟能详的是下面四个特点: 精美 (Beautiful):充分的赋予和发挥设计师的创造力和想象力,让你真正掌控屏幕上的每一个像素. ** 极速 (Fast)**: ...
- PyTorch官方中文文档:torch.nn
torch.nn Parameters class torch.nn.Parameter() 艾伯特(http://www.aibbt.com/)国内第一家人工智能门户,微信公众号:aibbtcom ...
随机推荐
- spring shiro 集成
1.向spring项目中添加shiro相关的依赖 <dependency> <groupId>commons-logging</groupId> <artif ...
- 关于p标签
说p标签是不能嵌套div和p的,嵌套会被浏览器解析分离.但如果你使用了document.createElement创建div,再appendChild的话反而可以了.看来浏览器并不支持动态解析
- ubuntu16.04安装五笔输入法
在 Ubuntu16.04 中为fctix小企鹅增加五笔输入法 转载:https://jingyan.baidu.com/article/454316ab67d702f7a7c03a1a.html U ...
- LeetCode 题解之Plus One
1.题目描述 2.题目分析 从后向前做加法,等于10则进位,否则直接加1 ,返回 digits; 3.代码 vector<int> plusOne(vector<int>&am ...
- gitlab 灾备
Gitlab创建备份 使用Gitlab一键安装包安装Gitlab非常简单,同样的备份恢复与迁移也非常简单.使用一条命令即可创建完整的Gitlab备份: gitlab-rake gitlab:ba ...
- C++ 类 、构造、 析构、 重载 、单例模式 学习笔记及练习
一.拷贝构造函数 1.是一种特殊的构造函数,就是用一个已有的对象去构造其同类的副本对象,即对象克隆. class 类名 { 类名(类名& that) { 对类成员挨个赋值 ... } } 练习 ...
- mysql-sql-standard
https://github.com/zhishutech/mysql-sql-standard
- ORACLE 参数设置绑定变量
使用 CURSOR_SHARING 参数 EXACT 默认,不替换 SIMIAR 当替换不会影响到执行计划时,才会将字面量替换成绑定变量 FORCE 只要有可能,字面量会被替换为绑定变量
- 设计带有placeHolder的TextView
设计带有placeHolder的TextView 效果: 源码: PlaceholderTextView.h 与 PlaceholderTextView.m // // PlaceholderText ...
- controller断点进入失败:包路径问题
controller 接受前端参数的方法(前端要有传值给controller的方法,后台要有接收值得方法) 1.@RequestParam 接收表单参数 2.@RequestBody 接收json字符 ...