Dart 笔记

常用数据类型

import 'package:flutter/material.dart';
//常用数据类型

class DataType extends StatefulWidget {
  @override
  State<DataType> createState() => _DataTypeState();
}

class _DataTypeState extends State<DataType> {
  @override
  Widget build(BuildContext context) {
    _numType();
    _stringType();
    _listType();
    return Container(
      child: Text('常用文字类型,请查看控制台输出'),
    );
  }

//数字类型
  void _numType() {
    num num1 = -1.0; //数字类型的父类
    num num2 = 2; //是数字类型的父类
    int int1 = 3; //只能是整数
    double d1 = 1.68; //双精度
    print("num:$num1 num:$num2 int:$int1 d1:$d1");
  }

  //字符串
  _stringType() {
    String str1 = '字符串', str2 = "双引号";
    String str3 = 'str:$str1 str2:$str2'; //字符串拼接
    String str4 = 'str1:' + str1 + 'str2:' + str2;
    String str5 = '常用数据类型,控制台输出';
    print(str3);
    print(str4);
    //字符串常用方法
    print(str5.substring(1, 5)); //数据截取
    print(str5.indexOf('类型')); //获取指定字符串的位置
    print(str5.startsWith('常')); //
    print(str5.startsWith('//', 6)); //判断从索引 6 位置处开始,字符串是否以字符 // 开头
    print(str5.endsWith("出"));
    //第一个参数 from 表示字符串中被替换掉的字符,第二个参数 replace 表示替换为什么字符。
    print(str5.replaceAll("常用", "替换"));
    print(str5.replaceFirst('数据', '11'));  01 只替换掉第一个符合条件的字符
  }

  //布尔类型,Dart 是强bool 类型检查,只有bool 类型的值 是true 才被认为是true
  _boolType() {
    bool success = true, fail = false;
    print(success);
    print(fail);
    print(success || fail); //true
    print(success && fail); //false
  }

  //List 集合
  _listType() {
    print('---_listType---');
    List list = [1, 2, 3, '集合']; //初始化添加元素
    List listmap = ["苹果", "梨子", "香蕉"];
    print(list);
    //集合泛型

    List<int> list2 = [1, 2, 3]; //只能放int类型
    //赋值  动态数据类型的集合 赋值给一个 指定类型的时候 会报错
    // list2 = list; //类型转换错误
    List list3 = [];
    list.add('listadd'); //通过add方法添加元素
    list3.addAll(list); //  [list3,1,2,3,集合]
    print(list3);
    //集合生成函数
    List list4 = List.generate(3, (index) => index * 2);
    print(list4); //[0, 2, 4];

    //集合遍历 的方式
    for (int i = 0; i < list.length; i++) {
      print(list[i]); //1 //2 //3 //集合
    }
    for (var o in list) {
      print(o);
    }
    list.forEach((val) {
      // 接受一个参数,集合的值
      print(val);
    });
    //map
    //
    // 注意map方法返回的不是集合
    // 需要手动的转为集合
    // print(list2.toList());

    var listmap1 = listmap.map((value) => {
          print(value),
        });

    //where
     类似于数组中的filter方法
     返回值不是集合,需要转化
    List ll = [1, 3, 5, 9, 6, 8, 1];
    var list5 = ll.where((value) {
      return value >= 5;
    });
    print(list5); //(5,9,6,8)
    print(list5.toList()); //[5,9,6,8]
    // any
    //只要有一个符合条件返回true,否则返回false
    var bool = ll.any((value) {
      return value > 3;
    });
    print(bool); //true

    //insert  insert()函数接受一个值并将其插入指定的索引。
    //insertAll  insertAll()函数从指定的索引开始插入给定的值列表。
    list.insert(0, 5); // [5,1,2,3,集合]

    list.insertAll(0, [110, 111]); // [110,111,5,1,2,3,集合]
    print(list);
    print('sublist'); //查询指定区间的值- sublist
    print(list.sublist(1)); //返回从索引1开始的所有数据 [111, 5, 1, 2, 3, 集合, listadd]
    print(list.indexOf(1)); //3
    print(list.getRange(2, 4)); //获取某个区间的值- getRange  (5, 1)
    //判断数组所有元素是否都满足设定条件 - every
    // 判断数组内是否有满足条件的元素- any
    print(list.every((v) => v > 1)); // true
    // 通过集合内容删除  remove  remove  方法只会删除第一个匹配的内容, 如果有多个相同的内容,后面的不会被删除
    // list.remove("集合");
    // 通过索引删除内容
// list.removeAt(2);
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值