Sun's blog Sun's blog
首页
  • HTML
  • CSS
  • JavaScript基础
  • JavaScript高级
  • Git
  • Webpack
  • Vite
  • Vue
  • React
  • Node

    • Node基础
    • Nest
  • Flutter基础

    • 00.Dart环境搭建
    • 01.Dart入口注释变量常量命名规则
    • 02.Dart的数据类型详解int double String bool List Maps
    • 03.Dart运算符 条件表达式 Dart类型转换
    • 04.Dart循环语句 for while do while break continue多维列表循环
    • 05.Dart 集合类型List Set Map详解 以及循环语句 forEach map where any every
  • Go基础

    • Go语言基础
  • mongodb

    • mongodb
    • mongoose
  • mysql

    • mysql
    • sequelize
  • redis

    • redis
  • Linux
  • Nginx
  • 学习方法

    • 费曼学习法
    • 笔记方法
    • 提高学习效率的策略
    • 提高记忆的技巧
  • 前端常用

    • 常用网站
    • 常用的前端轮子
    • 面试问题
    • Markdown
  • 友情链接

    • 友情链接
  • 日语
  • 英语

    • 国际音标
    • 新概念第一册
  • 小滴课堂

    • 后端项目
    • 前端项目
    • 后台管理
    • Nuxt的基础使用
    • Linux安装环境
    • Node基础
GitHub (opens new window)

Sun Tang

何以解忧,唯有不断学习变强,强大才可以无惧一切!
首页
  • HTML
  • CSS
  • JavaScript基础
  • JavaScript高级
  • Git
  • Webpack
  • Vite
  • Vue
  • React
  • Node

    • Node基础
    • Nest
  • Flutter基础

    • 00.Dart环境搭建
    • 01.Dart入口注释变量常量命名规则
    • 02.Dart的数据类型详解int double String bool List Maps
    • 03.Dart运算符 条件表达式 Dart类型转换
    • 04.Dart循环语句 for while do while break continue多维列表循环
    • 05.Dart 集合类型List Set Map详解 以及循环语句 forEach map where any every
  • Go基础

    • Go语言基础
  • mongodb

    • mongodb
    • mongoose
  • mysql

    • mysql
    • sequelize
  • redis

    • redis
  • Linux
  • Nginx
  • 学习方法

    • 费曼学习法
    • 笔记方法
    • 提高学习效率的策略
    • 提高记忆的技巧
  • 前端常用

    • 常用网站
    • 常用的前端轮子
    • 面试问题
    • Markdown
  • 友情链接

    • 友情链接
  • 日语
  • 英语

    • 国际音标
    • 新概念第一册
  • 小滴课堂

    • 后端项目
    • 前端项目
    • 后台管理
    • Nuxt的基础使用
    • Linux安装环境
    • Node基础
GitHub (opens new window)
  • Flutter基础

    • 00.Dart环境搭建
    • 01.Dart入口、注释、变量、常量、命名规则
    • 02.Dart的数据类型详解int double String bool List Maps
      • 03.Dart运算符 条件表达式 Dart类型转换
      • 04.Dart循环语句 for while do while break continue多维列表循环
      • 05.Dart 集合类型List Set Map详解 以及循环语句 forEach map where any every
    • Flutter
    • Flutter基础
    Sun
    2024-04-22

    02.Dart的数据类型详解int double String bool List Maps

    # 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);
    
             print(clapping.runes.toList());
    
             Runes input = new Runes(
                  '\u2665  \u{1f605}  \u{1f60e}  \u{1f47b}  \u{1f596}  \u{1f44d}');
             print(new String.fromCharCodes(input));
    
         }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    # Symbols

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

    ​ 在 Dart 中符号用 # 开头来表示,入门阶段不需要了解这东西,可能永远也用不上。

    ​ http://dart.goodev.org/guides/libraries/library-tour#dartmirrors---reflection

    # 1. dart 字符串类型

    Dart 数据类型:字符串类型

    void main(){
    
      //1、字符串定义的几种方式
      // var str1='this is str1';
      // var str2="this is str2";
    
      // print(str1);
      // print(str2);
    
    
    
      // String str1='this is str1';
      // String str2="this is str2";
      // print(str1);
      // print(str2);
    
    
    
      // 三个引号支持换行没有问题
      // String str1='''this is str1
      // this is str1
      // this is str1
      // ''';
      //  print(str1);
    
    
    
      //   String str1="""
      //   this is str1
      //   this is str1
      //   this is str1
      //   """;
      //  print(str1);
    
    
    
      //2、字符串的拼接
    
      String str1='你好';
      String str2='Dart';
      // print("$str1 $str2");
    
    
      print(str1 + str2);
      print(str1 +" "+ str2);
    
    }
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48

    重点是三个引号的方式,支持换行无问题。

    # 2. dart 数值类型

    Dart 数据类型:数值类型

    ​ int

    ​ double

    void main(){
    
      	// 1、int   必须是整型
        int a=123;
        a=45;
        print(a);
    
    
      	// 2、double  既可以是整型 也可是浮点型
        double b=23.5;
        b=24;
        print(b);
    
      	//3、运算符
        // + - * / %
        var c=a+b;
        print(c);
    
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19

    double 可以是整型也可以是浮点型,但是 int 必须是整型。

    # 3. dart 布尔类型

    Dart 数据类型:布尔类型

    bool 值 true/false

    void main(){
    
      	//1、bool
        // bool flag1=true;
        // print(flag1);
    
        // bool flag2=false;
        // print(flag2);
    
      	//2、条件判断语句
        // var flag=true;
        // if(flag){
        //   print('真');
        // }else{
        //   print('假');
        // }
    
        // var a=123;
        // var b='123';
        // if(a==b){
        //   print('a=b');
        // }else{
        //    print('a!=b');
        // }
    
        var a=123;
        var b=123;
        if(a==b){
            print('a=b');
        }else{
            print('a!=b');
        }
    
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34

    Dart 判断类型的时候,不会和 js 中 == 时候会隐式转换,dart 中是什么类型就是什么类型。

    # 4. dart List 集合类型

    Dart 数据类型: List(数组/集合)

    void main() {
      //1、第一种定义List的方式
    
      // var l1=["张三",20,true];
      // print(l1);  //[张三, 20, true]
      // print(l1.length);  //3
      // print(l1[0]); //张三
      // print(l1[1]); //20
    
      //2、第二种定义List的方式 指定类型
    
      // var l2=<String>["张三","李四"];
      // print(l2);
    
      // var l3 = <int>[12, 30];
      // print(l3);
    
      //3、第三种定义List的方式  增加数据 ,通过[]创建的集合它的容量可以变化
    
      // var l4 = [];
      // print(l4);
      // print(l4.length);
    
      // l4.add("张三");
      // l4.add("李四");
      // l4.add(20);
      // print(l4);
      // print(l4.length);
    
      // var l5 = ["张三", 20, true];
      // l5.add("李四");
      // l5.add("zhaosi");
      // print(l5);
    
    
      //4、第四种定义List的方式
    
        //  var l6=new List();  //在新版本的dart里面没法使用这个方法了
    
        // var l6=List.filled(2, "");  //创建一个固定长度的集合
        // print(l6);
        // print(l6[0]);
    
        // l6[0]="张三";   //修改集合的内容
        // l6[1]="李四";
        // print(l6);  //[张三, 李四]
        // l6.add("王五");  //错误写法  通过List.filled创建的集合长度是固定  没法增加数据
    
    
    
        //通过List.filled创建的集合长度是固定
        // var l6=List.filled(2, "");
        // print(l6.length);
        // l6.length=0;  //修改集合的长度   报错
    
    
    
        // var l7=<String>["张三","李四"];
        // print(l7.length);  //2
        // l7.length=0;  //可以改变的
        // print(l7);  //[]
    
    
    
    
        var l8=List<String>.filled(2, "");
        l8[0]="string";
        // l8[0]=222;
        print(l8);
    
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71

    # 5. dart Maps 类型

    Dart 数据类型: Maps(字典)

    void main(){
    
      //第一种定义 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
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25

    # 6. 类型判断

    Dart 判断数据类型:

    is 关键词来判断类型

    void main(){
    
      // var str='1234';
      // if(str is String){
      //   print('是string类型');
      // }else if(str is int){
      //    print('int');
      // }else{
      //    print('其他类型');
      // }
    
      var str=123;
      if(str is String){
        print('是string类型');
      }else if(str is int){
         print('int');
      }else{
         print('其他类型');
      }
    
    }
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    编辑 (opens new window)
    上次更新: 2024/07/20, 05:07:19
    01.Dart入口、注释、变量、常量、命名规则
    03.Dart运算符 条件表达式 Dart类型转换

    ← 01.Dart入口、注释、变量、常量、命名规则 03.Dart运算符 条件表达式 Dart类型转换→

    最近更新
    01
    Node基础
    07-23
    02
    05.Dart 集合类型List Set Map详解 以及循环语句 forEach map where any every
    05-08
    03
    04.Dart循环语句 for while do while break continue多维列表循环
    05-08
    更多文章>
    Theme by Vdoing | Copyright © 2019-2024 Sun Tang | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式