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]}');
}
}