美文网首页
dart(一)--变量,各数据类型

dart(一)--变量,各数据类型

作者: Henry________ | 来源:发表于2019-04-22 15:08 被阅读0次

变量

使用 if(xx is int)这种方式来判断变量类型。

Dart是强类型语言,但变量类型可以自动推断,所有标量初始值都是null。泛型使用dynamic来表示,列如:

dynamic、List<dynamic>;

不可变变量、静态变量,使用:final、const来表示。const的值在编译时确定,final的值需要在运行时确实,且不可修改。const用来修饰静态的变量,final修复不可变得变量。

final name = 'henry';
const age = 15;
const double = 3.1415 * age;

const常值是防止内容变化.final常量是防止变量寻址,final变量用来提升代码的安全性。

final list = [];   //虽然是const修饰[],但是只能代表当前下[]不可变
final list1 = const[];
const list2 = [];
const list3 =
list.add(4) //成立,由于final修饰后变量只要是内存地址不变的前提下都可以修改。
list1.add(4)    //不成立,由于list1指向一个常值不可修改。
list2.add(4)    //不成立,const对应常值,初始化后不论是值、内存地址都不可修改。

var变量

var name = 'henry';
String name = 'henry';
var bool = true;
var boo = false;    //布尔类型只允许使用true、false来表示。

符文数据类型(Rune)

rune是UTF-32码点组成的字符串,可以相互转换。


其他数据类型(使用runtimeType方法获取类型)

数字类型

var i = 1.45e5;     //输出:145000
var one = int.parse(1)   //初始化int类型
var two = double.parse(1.1) //初始化double类型
assert(one == 1)    //常数逻辑判断

字符串

var str = two.toString() //常数转为字符串
String str = 3.1415926.toStringFixed(2);    //取小数点后两位
assert(str == 3.14); //字符串逻辑判断
var s1 = 'liuuuii';
var s2 = 'l\'suuu';  //输出 : i'suuu 如果使用单引号则单引号需要转义
var s3 = "l'suuu";  //输出 : i'suuu  如果使用双引号则单引号无需转义
var s4 = ''' liu
heng
shi 
'''                 //如果需要换行符则使用'''符号,字符串格式保留。与swift相同
var s5 = r'\naaa';  //输出:\naaa,如果在字符串前加r,则表示后方字符串中任意字符都不做转义   
var s6 = 'dffdsf$s5'; //输出:dffdsf\naaa    $+变量名、 ${表达式},实现字符串的插值。
var s7 = 'dddd${s6.toString()}';
var b = assert(s7.isEmpty); //字符串为空

数组

var a = const[1,2,3];//特殊情况,a的值(内存地址)可以改变,但是当前数组被const修饰,是无法修改的.
list<widget> = [];  //定义类型为<widget>的数组

map(哈希表、字典)

类型定义如:(map<String, num> json)

var giraffe = {'1':'asd', '2':'asd', '3':'asd'};
giraffe.runtimeType //输出:JsLinkedHashMap<String, String>
var giraffe = {'1':'asd', '2':'asd', 3:'asd'};
giraffe.runtimeType //输出:JsLinkedHashMap<Object, String>
giraffe['1'] = 'bsa'    //值修改
var elephant = const {'1':'asd', '2':'asd', 3:'asd'};
elephante['1'] = 'bsa'  //不成立,当前map值无法修改
elephante = {'a':'lili'}  //成立

相关文章

网友评论

      本文标题:dart(一)--变量,各数据类型

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