Dart语言基础(数据类型及其操作)

Dart常用数据类型如下:

  • numbers
  • strings
  • booleans
  • lists (也被称之为 arrays)
  • set
  • maps

Number (数值)

Dart支持两种类型的数字,intdoubleint用于整数 ,而 double 用于浮点数。

  // 整数类型int
  int point = 100;
  print(point); //100

  // 浮点类型double
  double precent = 0.78;
  print(precent);  //0.78

数值类型变量支持转换为字符串类型

// int -> String
String oneAsString = 1.toString();
print(oneAsString); // 1

// double -> String
String piAsString = 3.14159.toStringAsFixed(2);
print(piAsString);  // 3.14

整数类型支持传统的位移操作符,(<<, >>), AND (&), 和 OR (|) 。

print((5 << 1));  // 10: 0101 << 1 == 1010
print((5 >> 1));  // 2: 0101 >> 1 == 0010
print((5 | 3));   // 7: 0101 | 0011 == 0111

Strings (字符串)

Dart 字符串是 UTF-16 编码的字符序列。 可以使用单引号或者双引号来创建字符串:

var s1 = 'Single quotes work well for string literals.';
var s2 = "Double quotes work just as well.";

字符串支持适用 ‘+’ 进行拼接

  String str1 = 'Hello ';
  String str2 = 'World';
  print(str1+str2); // Hello Word

字符串可以转换成数值型

// String -> int
int one = int.parse('1');
print(one); // 1

// String -> double
double onePointOne = double.parse('1.1');
print(onePointOne);  // 1.1

Booleans (布尔值)

Dart提供了两个布尔值:truefalse,Dart是类型安全的,if(非booleanvalue)assert(非booleanvalue) 都会认为非法而抛出异常。

 if (1) { //抛出类型异常
    // Dart并不会打印,而Java会
    print('go inside');
  }

Lists (列表)

List定义的方法:

// List定义
// 1.使用类型推导定义
var letters = ['a', 'b', 'c', 'd'];
print(letters);  //[a, b, c, d]

// 2.明确指定类型
List<int> num = [1, 2, 3, 4];
print(num);  //[1, 2, 3, 4]

List 常用操作如下:

letters.add('b'); // 追加元素'b', [a, b, c, d, b]
letters.remove('b'); // 删除元素'b', [a, c, d, b],只删除检索到的第一个‘b’
letters.removeAt(2); // 删除index为2的元素 [a, c, d, b]
print(letters.length); //4 List中元素个数

Set

Set定义如下:

// Set定义
// 1.使用类型推导定义
var letters = {'a', 'b', 'c', 'd'};
print(letters); // {a, b, c, d}

// 2.明确指定类型
Set<int> num = {1, 2, 3, 4};
print(num);  //{1, 2, 3, 4}

SetList 最大的两个不同就是:Set是无序的,并且元素是不重复的,这个和java是一致的。

Set 常用操作如下:

letters.add('e'); //增加元素 {a, b, c, d, e}
letters.remove('c'); //删除元素 {a, b, d, e}

Maps

映射表,使用键值对的形式存储数据,定义如下:

// Map的定义
// 使用类型推导定义
var map1 = {'name': '小明', 'class': "四班"};
print(map1);  // {name: 小明, class: 四班}

// 2.明确指定类型
Map<String, Object> map2 = {'city': '广州', 'country': '中国'};
print(map2);  //{city: 广州, country: 中国}

Maps常用操作如下:

// 1.根据key获取value
print(map2['city']); // 广州

// 2.获取所有的entries
print(map2.entries); // (MapEntry(city: 广州), MapEntry(country: 中国))

// 3.获取所有的keys
print(map2.keys); // (city, country)

// 4.获取所有的values
print(map2.values); // (广州, 中国)

// 5.判断是否包含某个key或者value
print(map2.containsKey('city')); // true

// 6.根据key删除元素
map2.remove('city');
print(map2); // {country: 中国}

参考
http://dart.goodev.org/guides/language/language-tour
https://book.flutterchina.club/chapter1/dart.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值