Flutter学习之路(四)-Dart的数据类型 以及 类型判断

常用数据类型:

字符串类型- String

字符串定义的几种方式:

1. 使用单引号
var str1 = 'this is str1';
String str2 = 'this is str2';
print(str1);
print(str2);
2. 使用双引号
var str3 = "this is str3";
String str4 = "this is str4";
print(str3);
print(str4);
3. 使用三个引号(可是三个单引号或者双引号,但前后保持一致)
String str5 = '''this is str5
			this is str5
			this is str5''';
String str6 = """
			this is str6
			this is str6
			this is str6
			""";
print(str5);
print(str6);
/*
打印结果:
this is str5
this is str5
this is str5

this is str6
this is str6
this is str6
*/

结论:

  1. 使用单、双引号定义字符串是一样的。
  2. 使用三引号定义的字符串可以定义多行的字符串,保留字符串换行格式(类似 js 中的模板字符串)

字符串的拼接

1. 使用“+”进行字符串简单拼接
String str1 = '您好';
String str2 = 'Dart';

print(str1 + str2);
print(str1 + ' ' + str2);
2. 使用“$”进行字符串与变量拼接
String str1 = '您好';
String str2 = 'Dart';

print("$str1 $str2");

注意: 如果要在字符串中执行表达式,需要使用${}

数值类型 - int / double

整型 int

int a = 123;
    a = 45;
	a = 3.1; // 报错
print(a);

浮点型 double

double b=23.5;
	   b=24;
print(b); // 24.0

注意:

  1. 整型赋值必须是整型,而浮点型赋值既可以是整型,也可是浮点型。

运算符

+ - * / %

var c=a+b;
print(c);

布尔类型 - bool

true/false

bool flag1 = true;

print(flag1);

bool flag2 = false;

print(flag2);

条件判断语句

if-else 语句,跟 javascript 用法相同

var flag = true;

if (flag) {
    
    
   print('真');
} else {
    
    
   print('假');
}

var a=123;
var b='123';

if (a==b) {
    
    
	print('a=b');
} else {
    
    
	print('a!=b');
}

数组/集合 - List

在Dart中,数组是列表对象,所以大多数人只是称它们为列表。相当于 javascript 中的 Array 类型。

第一种定义List的方式

var l1 = ['aaa','bbbb','cccc'];

print(l1);
print(l1.length); // 长度 3
print(l1[1]); // 取值 bbbb

第二种定义List的方式

var l2 = new List();

l2.add('张三');
l2.add('李四');
l2.add('王五');

print(l2);
print(l2[2]);

定义List指定类型

var l3=new List<String>();

l3.add('张三');
l3.add(123); // 报错

print(l3);

字典类型 - Maps

通常来说,Map 是一个键值对相关的对象。 键和值可以是任何类型的对象。每个 键 只出现一次, 而一个值则可以出现多次。相当于 javasrcript 中的 Object 对象类型。

第一种定义 Maps的方式

var person={
    
    
	"name":"张三",
	"age":20,
	"work":["程序员", "送外卖"]
};

print(person);
print(person["name"]);
print(person["age"]);
print(person["work"]);

第二种定义 Maps的方式

var p=new Map();

p["name"]="李四";
p["age"]=22;
p["work"]=["程序员","送外卖"];

print(p);
print(p["age"]);

注意:

  1. 获取值必须使用中括号加引号,不能打点获取。

判断数据类型

is 关键词来判断类型

var str = '1234';
// var str = 123;

if(str is String){
    
    
	print('是string类型');
}else if(str is int){
    
    
	print('int');
}else{
    
    
 	print('其他类型');
}

项目中用不到的数据类型 (用不到):

Runes

Rune是UTF-32编码的字符串。它可以通过文字转换成符号表情或者代表特定的文字。

main() {
    
    
	var clapping = '\u{1f44f}';
	print(clapping);
	print(clapping.codeUnits);
	print(clapping.runes.toList());
	        
	Runes input = new Runes('\u2665  \u{1f605}  \u{1f60e}  \u{1f47b}  \u{1f596}  \u{1f44d}');
	print(new String.fromCharCodes(input));
}

Symbols

Symbol对象表示在Dart程序中声明的运算符或标识符。您可能永远不需要使用符号,但它们对于按名称引用标识符的API非常有用,因为缩小会更改标识符名称而不会更改标识符符号。要获取标识符的符号,请使用符号文字,它只是#后跟标识符:

在 Dart 中符号用 # 开头来表示,入门阶段不需要了解这东西,可能永远也用不上。
http://dart.goodev.org/guides/libraries/library-tour#dartmirrors—reflection

猜你喜欢

转载自blog.csdn.net/Kevinblant/article/details/107753375