美文网首页
Flutter数据类型

Flutter数据类型

作者: 小虾57 | 来源:发表于2021-01-08 14:23 被阅读0次

基本数据类型: Number数字、String字符串、Boolean布尔、List数组、Map集合、symbol符号

Number:数字类型,包括 int整型和double浮点型;
int:整型,取值范围为-2^53到2^53,int类型不能包含小数点;
double:浮点型,64位(双精度)浮点数;
num:数字类型,int和double都是num类型的子类,num类型包括的运算操作有:+、-、*、/、以及移位操作>>,num类型包括的常用方法有:abs、ceil和floor;

String:字符串
Boolean:布尔
List:数组
Map:集合
symbol:符号

类型转换

// String -> int
var one = int.parse('1');
assert(one == 1);
 
// String -> double
var onePointOne = double.parse('1.1');
assert(onePointOne == 1.1);
 
// int -> String
String oneAsString = 1.toString();
assert(oneAsString == '1');
 
// double -> String
String piAsString = 3.14159.toStringAsFixed(2);
assert(piAsString == '3.14');

${表达式}的使用

类似于JS中 ES6 上面的表达式的使用,感觉是相通的。

void main(){
 
  var flag = false;
  var str = "测试字符串";
 
  print("我们来验证字符串:${str}" "然后看看我们的 flag:${flag}");
  // 最后输出的结果为:我们来验证字符串:测试字符串然后看看我们的 flag:false
}

List数组


void main(){
 
  // 使用构造创建
  var list = new List();
 
  //创建一个int类型的list
  List intlist = [1, 2, 3];
 
  // 创建一个常量List, 不可以改变的List
  List constList = const[10, 7, 23];

  //  在数组中可以存放多个不同类型的对象
  var list = [1, 2, 3, 'Flutter', true];
  print(list);      // 输出的结果:[1, 2, 3, Flutter, true]
 
  // 修改数组下标为2 的值
  list[2] = 'Dart';
  print(list);      // 输出的结果:[1, 2, Dart, Flutter, true]
 
  // 获取数组的长度
  print(list.length);   // 输出的结果:5
 
  // 向数组中添加元素
  list.add("value");
  print(list);        // 输出的结果:[1, 2, Dart, Flutter, true, value]
 
  // 向数组中的指定位置添加元素
  list.insert(1, 'element');  
  print(list);      // 输出的结果:[1, element, 2, Dart, Flutter, true, value]
 
  // 移除数组中的元素
  list.remove("value");
  print(list);      // 输出的结果:[1, element, 2, Dart, Flutter, true]
 
  // 移除数组中指定的元素
  list.removeAt(1);
  print(list);      // 输出的结果:[1, 2, Dart, Flutter, true]
 
  // 判断数组中是否有某个元素
  print(list.indexOf("element"));   // 输出结果:-1
 
  // 可以使用 sort() 函数来排序, 但是由于我们使用定义的数组类型不一样,就不能使用
  var intlist = [1, 2, 5, 6 ,3];
 
  // 根据语法提示: List.sort([(int, int) → int compare]) → void
  intlist.sort( (a, b) =>  a.compareTo(b) );
  print(intlist);   // 输出结果:[1, 2, 3, 5, 6]
}

Map集合,键值对

一、创建 Map 集合

void main(){
 
  // 创建Map
  var language = {'fisrt': 'dart', 'second': 'java'};
 
  // 创建不可变的 Map
  var constLanguage = const {'fisrt': 'dart', 'second': 'java'};
 
  // 通过构造器创建
  var initLanguage = new Map();
}

二、常用方法

void main(){
  // 创建Map
  var map = {'fisrt': 'dart', 'second': 'java'};
  // 获取长度
  print(map.length);    // 输出结果:2

  // 判断是否为空
  print(map.isEmpty);     // 输出结果:false
  print(map.isNotEmpty);  // 输出结果:true

  // 获取到所有的 key
  print(map.keys);        // 输出结果:(fisrt, second)
 
  // 获取到所有的 values
  print(map.values);      // 输出结果:(dart, java)
 
  // 判断是否包含某个key
  print(map.containsKey("key"));    // 输出结果:false
 
  // 判断是否包含某个value
  print(map.containsValue("key"));    // 输出结果:false
 
  // 添加一个新的元素进去
  map['third'] = 'key';
  print(map);         // 输出结果:{fisrt: dart, second: java, third: key}
 
  // 循环打印 代码提示:Map.forEach((String, String) → void f) → void
  map.forEach( (key, value) =>  getMap(key, value) );
}
 
 
void getMap(key, value){
  print("key:${key}, value:${value}");
}

相关文章

网友评论

      本文标题:Flutter数据类型

      本文链接:https://www.haomeiwen.com/subject/ymgxaktx.html