Flutter中Dart基础

78 阅读1分钟

Flutter是基于Dart语音开发的,Dart是面向对象的语言,下面记录一些Dart语言常用数据类型的用法。

1.数字类型
2.字符串类型
3.布尔类型
4.集合类型
5.Map类型

import 'package:flutter/cupertino.dart';

/// 5.常用数据类型
class DataType extends StatefulWidget {
  @override
  _DataTypeState createState() => _DataTypeState();
}

class _DataTypeState extends State<DataType> {
  @override
  Widget build(BuildContext context) {
    // _numType();
    // _stringType();
    // _boolType();
    // _listType();
    return Container(
      child: Text("常用数据类型,请查看控制器"),
    );
  }

  /// 1.数字类型
  void _numType() {
    num num1 = -1.0; //是数字类型的父类
    num num2 = 2;//是数字类型的父类
    int int1 = 3; //只能是证书
    double double1 = 1.68;//双精度
    print("num:$num1\n num2:$num2\n int1:$int1\n  double1:$double1");

    //求绝对值
    print(num1.abs());
    //转换成int
    print(num1.toInt());
    //转换成double
    print(num1.toDouble());
  }

  /// 2.字符串
  _stringType() {
    String str1 = "双引号字符串";
    String str2 = '单引号字符串';
    String str3 = 'str1和str2: $str1 $str2';
    String str4 = 'str1:' +str1+ 'str2:'+str2;
    print("str3---:$str3\n  str4---:$str4");
    //常用方法
    String str5 = "常用数据类型,请查看控制台输出";
    //字符串截取
    print(str5.substring(0,6));
    //获取指定字符串位置
    print(str5.indexOf('类型'));
    // startsWith  replaceAll  contains split
  }

  ///3.布尔类型
  _boolType() {
      bool success = true,  fail = false;
      print(success);
      print(success || fail);//true
      print(success && fail);//false
   }

   /// 4.集合
   _listType() {
      print("----------listType-----------");
      //集合的初始化方式
      List list1 = [1,2,3,4,'集合'];
      print(list1);
      //集合泛型
      List<int> list2 = [];
      // list2 = list1; 错误做法,类型转换错误 type 'List<dynamic>' is not a subtype of type 'List<int>'
      List list3 = [];
      //通过add方法添加元素
      list3.add("addList3");
      list3.addAll(list1);
      print(list3);
      //生成函数
     List list4 = List.generate(5,(index) => index *2);
     print(list4);

      /// 遍历集合的方式
      for(int i=0; i<list1.length;i++){
        print(list1[i]);
      }

      for(var i  in list1){
        print(i);
      }

      list1.forEach((value){
        print(value);
      });
   }

    /// 5. map 是将key和value相关联的对象
    _listMap() {
      print("-------_mapType--------");
      Map names = {"allison":"英文名"};
      print(names);

      Map ages = {};
      ages["rose"] = 16;
      ages["lily"] = 18;
      print(ages);

      //map遍历1
      ages.forEach((k,v){
        print('---$k, ----$v');
      });
      
      //map遍历2
      Map ages2 = ages.map((k,v){
        return MapEntry(v, k);
      });
      print(ages2);
      
      //map遍历3
      for(var key in ages.keys) {
        print('$key  ${ages[key]}');
      }

    }