# 数据类型
Dart中常用数据类型有Numbers(数值型)、Strings(字符串)、Booleans(布尔值)、List(数组)、Map(字典)。
# Number(数值型)
# int类型
var num = 123;
int num2= 12345;//值必须是int类型
int num3 = 0x123;
# double类型
var num = 123.2;
double num2= 123.45;//值必须是double类型
# Strings类型
# String
var str = 'var定义字符串';
String str2 = 'String定义字符串';//值必须是String类型
String str3 = '''
你好,dart。
''';//使用`'''`定义多行文字
字符串拼接
+
加好拼接符$
字符串模板:
print('$str $str1');
# Booleans(布尔值)
# bool
var bool1 = true;
bool b = false;
# List类型
Dart中,数组是列表对象,所以大多数人知识称之为列表。
var l1 = ['aa','bbb','cccc'];
//li.length //求长度
var l2 = new List();
l2.add('张三');
l2.add('李四');
l2.add(345);
print(l2);
var l3 = new List<String>();//元素只能是String
# Map类型
Map是键值对,键和值可以是任何类型对象
var person = {
'name':'Sogrey',//key 必须加引号
'age':30
}
print(person);
//print(proson.name); 错误
print(proson['name']); //正确
person['work']=['程序员','学生'];
# dynamic与Object
Dart中一切皆对象,父类都是Object。
当没有明确类型时,编译时会根据值明确类型,例如:
var data1 = 'adc';
Object data2 = 123;
dynamic data3 = 'hij';
以上写法虽没错,但Dart不建议我们这么做,尽量明确值的类型,这样不仅可以提高安全性,加快运行速度。
# is关键字判断数据类型
var str = 'hello';
if(str is String){
print('字符串类型')
}
//str is int
//str is double
//str is bool
# 不常用数据类型
# 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));
}
👏
[55357, 56399]
[128079]
♥ 😅 😎 👻 🖖 👍
# Symbols
Symbols对象表示在Dart程序中声明的运算符或标识符,您可能永远不需要使用符号。
← 命名规则 运算符 条件判断 类型转换 →