Dart学习笔记三:数据类型

目录

 

Dart数据类型概览

 字符串类型

字符串定义

字符串拼接

数值类型 

布尔类型

List(数组/集合)

Map(字典) 

Dart判断数据类型 


Dart数据类型概览

常用数据类型:
      Numbers(数值):
          int
          double
      Strings(字符串)
          String
      Booleans(布尔)
          bool
      List(数组)
          在Dart中,数组是列表对象,所以大多数人只是称它们为列表。
      Maps(字典)
          通常来说,Map 是一个键值对相关的对象。 键和值可以是任何类型的对象。每个键只出现一次, 而一个值则可以出现多次。

不常用数据类型:
      Runes
        Rune是UTF-32编码的字符串。它可以通过文字转换成符号表情或者代表特定的文字。

main() {
      var clapping = '\u{1f44f}';
      print(clapping);//👏
      print(clapping.codeUnits);//[55357, 56399]
      print(clapping.runes.toList());//[128079]
        
      Runes input = new Runes(
              '\u2665  \u{1f605}  \u{1f60e}  \u{1f47b}  \u{1f596}  \u{1f44d}');
      print(new String.fromCharCodes(input));//♥  😅  😎  👻  🖖  👍
}

    Symbols
        一个Symbol对象代表Dart程序中声明的操作符或者标识符。也许不会用到Symbol,但是该功能对于通过名字来引用标识符的情况 是非常有价值的,特别是混淆后的代码,标识符的名字被混淆了,但是Symbol的名字不会改变。使用Symbol字面量来获取标识符的symbol对象,也就是在标识符前面添加一个 # 符号。

var sym1 = Symbol('name');
print(sym1); // Symbol("name")


var sym2 = #titan;
print(sym2); // Symbol("titan")

 字符串类型

字符串定义

Dart字符串有三种定义方式,分别是单引号、双引号和三引号,区别是单引号和双引号定义的是单行字符串,三引号可以定义多行字符串。

var str1='this is str1';

var str2="this is str2";

String str1='''this is str1
  this is str1

  this is str1
''';

字符串拼接

用“+”拼接

String str1='你好';
String str2='Dart';
print(str1 + str2);//你好Dart

模板字符串

String str1='你好';
String str2='Dart';
print("前面内容$str1中间内容$str2后面内容");//前面内容你好中间内容Dart后面内容

数值类型 

int必须是整型

int a=123;
a=45;
print(a);//45

double  既可以是整型,也可是浮点型,当赋值为整型时,自动转化为浮点型。

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

运算符:同其他语言一样,支持+ - * / %

布尔类型

关键字bool,仅有两个值true/false

var flag=true;
if(flag){
     print('真');//真
}else{
     print('假');
}

List(数组/集合)

第一种定义List的方式 

var l1=['aaa','bbbb','cccc'];
print(l1);
print(l1.length);
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);//["张三"]

Map(字典) 

Map有点类似于js中的json数据类型,但是要比json弱

第一种定义Map的方式,key必须加引号,json中可加可不加

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

取值时,不能像json一样直接person.name,需要用中括号取值:

print(person["name"]);//张三
print(person["age"]);//20
print(person["work"]);//["程序员","送外卖"]

第二种定义Map的方式 

var p=new Map();
p["name"]="李四";
p["age"]=22;
p["work"]=["程序员","送外卖"];
print(p);//{name: 李四, age: 22, work: [程序员, 送外卖]}
print(p["age"]);//22

Dart判断数据类型 

is 关键词用来判断类型

var str=123;

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

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值