zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Dart基础-变量与类型

基础变量 类型 Dart
2023-09-14 08:59:38 时间
dart的缩进为两个空格 和java不同,dart没有public、protected和private这些关键字,如果标识符前面加“_”,就是私有变量或者函数
//assert在生产模式下会被忽略,在检查模式下非真就抛出一个异常 assert(lineCount == null);

如果你不打算改变一个变量,可以使用final和const,它们可以替代任何类型,只能在声明时初始化,且不能改变,const如果在类级要用static const标记成静态常量


从使用上根本看不出区别,它们的区别在于,const是编译器常量,它的值在编译期就可以确定,final是运行时常量,它的初始值要到编译时才能确定,使用final能让程序启动更快


String s1 = Single quotes work well for string literals.;

String s2 = "Double quotes work just as well.";

String s3 = It\s easy to escape the string delimiter.;

String s4 = "Its even easier to use the other delimiter.";

使用${expression}在字符串中插入表达式,如果是标识符,可以省略{ },如果要获取对象对应的字符串,可以使用toString()方法

String s = string interpolation

assert(Dart has $s, which is very handy. ==

 Dart has string interpolation, which is very handy.);

assert(That deserves all caps. ${s.toUpperCase()} is very handy! ==

 That deserves all caps. STRING INTERPOLATION is very handy!);

使用相邻方式或“+”都可以连接字符串

String s1 = String  concatenation " works even over line breaks.";

assert(s1 == String concatenation works even over line breaks.);

String s2 = The + operator  + works, as well.;

assert(s2 == The + operator works, as well.);

使用三重单引号或三重双引号可以创建多行字符串

String s1 = 

You can create

multi-line strings like this one.

String s2 = """This is also a

multi-line string.""";

通过加前缀“r”可以创建原始字符串

String s = r"In a raw string, even \n isnt special.";

通过转义可以使用Unicode码

// \u2665 - 

print(Unicode escapes work: \u2665);

dart的布尔类型bool,只有两个布尔常量,true和false

String name = Bob;

if (name != null) {

 print(You have a name!);

}

通常Map是关联key和value的对象,key和value可以是任何对象,key是唯一的,value可以重复

Map gifts = {

 //Keys Values

 first : partridge,

 second : turtledoves,

 fifth : golden rings

Map nobleGases = {

 //Keys Values

 2 : helium,

 10 : neon,

 18 : argon,

};

可以使用Map构造函数创建和上面相同的对象

Map gifts = new Map();

gifts[first] = partridge;

gifts[second] = turtledoves;

gifts[fifth] = golden rings;

Map nobleGases = new Map();

nobleGases[2] = helium;

nobleGases[10] = neon;

nobleGases[18] = argon;

在现有的Map中添加一个新的键-值对

Map gifts = {first : partridge};

//添加一个键-值对

gifts[fourth] = calling birds;

在Map中检索值

Map gifts = {first : partridge};

assert(gifts[first] == partridge);

查找不存在的key,会返回null

Map gifts = {first : partridge};

assert(gifts[fifth] == null);

使用.length可以获取Map中键-值对的数量

Map gifts = {first : partridge};

gifts[fourth] = calling birds;

assert(gifts.length == 2);

dart中将方法当做参数传递时的注意事项 众所周知,Dart是一门面向对象的语言,比Java更纯粹,Dart中的方法也是对象,也有类型Function。这意味着方法可以被分配给对象,也可以当做参数传递给其他方法。
那些你不知道的Dart细节之内置类型(二) 在Dart中,内置类型有以下几种:Numbers 数值、Strings 字符串、Booleans 布尔值、Lists 列表(数组)、Sets 集合、Maps 集合、Runes 符号字符、Symbols 标识符。
[Flutter]足够入门的Dart语言系列之函数:匿名函数、作用域闭包、类型别名和内联函数类型 函数在Dart中是对象,因此,可以将函数作为参数传递给另一个函数、作为一个 值 赋值给一个变量。下面主要介绍匿名函数、内联函数类型的使用,以及了解下作用域和闭包...
[Flutter]足够入门的Dart语言系列之函数:函数定义、调用、5种参数类型和main函数 函数(Function)也被称为方法(Method)。其最直观的理解就是数据中的函数,比如y=f(x),在编程中,f对输入x进行处理,返回结果y,就是一个函数......