Dart语言:数据类型
Posted 考拉的日常
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dart语言:数据类型相关的知识,希望对你有一定的参考价值。
Dart 内置支持的类型
numbers
strings
booleans(布尔值)
lists (也被称之为 arrays)
maps
runes (用于在字符串中表示 Unicode 字符)
symbols
num
num a = 10; // num可以赋值整型
a = 12.5; // num也可赋值浮点型
int b = 20;
//b = 20.4; //error int类型不能在赋值其他类型
/** */
double c = 20.4;
c = 10; //自动转为浮点型
print(c); // 10.0
String
String s1 = 'Hello World';
// ''' 三引号 多行字符串
String s3 = '''Hello World
my name is jack
''';
String s4 = r'Hello \n World'; // 原始raw字符串 特殊符号会转义
// 字符串操作 + * == []
String s5 = 'This is my first Dart demo!';
print(s5 + 'new'); //This is my first Dart demo!new 连接字符串
print(s5 * 2); //This is my first Dart demo!This is my first Dart demo! 运算
print(s5 == s3); //false 判断
print(s5[3]); //s 通过下标取字符串
//插值表达式
int a = 1;
int b = 2;
print("a + b ${a + b}"); //a + b 3
//常用属性
print(s4.length);//取长度
print(s4.isNotEmpty);//判断是否为空
>字符串常用方法
bool 布尔值
bool isTrue = true
list
var list = [1,2,3,'Dart',false];
print(list); //[1, 2, 3, Dart, false]
print(list[1]); //2
list[1] = 'Hello'; // [1, Hello, 3, Dart, false]
print(list); //[1, 2, 3, Dart, false]
var list1 = const [1,2,3];//不可变list
//list1[0] = 5; //error
print(list1);
var list2 = new List(); //构造创建
>list常用属性方法
Map 键值对
void main() {
Map:
var map1 = {'first': 'dart', 1: true, true: 2};
print(map1);
print(map1['first']); //dart
print(map1[true]); //2
map1[1] = false;
print(map1[1]); //false
var map2 = const {'first': 'chinese', 'two': 'japanese'};
//map2['first'] = '哈哈'; //error
var map3 = {'one': "1", "two": "2", bool: true};
print(map3);
map3.remove('one');
print(map3);
map3.forEach(f);
}
void f(key,v){
print("key=$key,value=$v");
}
>Map 常用属性方法
dynamic 动态类型
// dynamic动态类型
var a;
a = 10;
a = 'Dart';
dynamic b = 10;
b = 'aaa';
var list = new List<dynamic>();
list.add(1);
list.add('HAHA');
list.add(true);
print(list);
在学习 Dart 的时候,请牢记下面一些事实和概念:
所有能够使用变量引用的都是对象, 每个对象都是一个类的实例。在 Dart 中 甚至连 数字、方法和
null
都是对象。所有的对象都继承于 Object 类。使用静态类型(例如前面示例中的
num
) 可以更清晰的表明你的意图,并且可以让静态分析工具来分析你的代码, 但这并不是强制性的。(在调试代码的时候你可能注意到 没有指定类型的变量的类型为dynamic
。)Dart 在运行之前会先解析你的代码。你可以通过使用 类型或者编译时常量来帮助 Dart 去捕获异常以及 让代码运行的更高效。
Dart 支持顶级方法 (例如
main()
),同时还支持在类中定义函数。(静态函数和实例函数)。你还可以在方法中定义方法 (嵌套方法或者局部方法)。同样,Dart 还支持顶级变量,以及 在类中定义变量(静态变量和实例变量)。实例变量有时候被称之为域(Fields)或者属性(Properties)。
和 Java 不同的是,Dart 没有
public
、protected
、 和private
关键字。如果一个标识符以 (_) 开头,则该标识符 在库内是私有的。详情请参考: 库和可见性。标识符可以以字母或者 _ 下划线开头,后面可以是 其他字符和数字的组合。
有时候 表达式 expression 和 语句 statement 是有区别的,所以这种情况我们会分别指明每种情况。
Dart 工具可以指出两种问题:警告和错误。警告只是说你的代码可能有问题, 但是并不会阻止你的代码执行。错误可以是编译时错误也可以是运行时错误。遇到编译时错误时,代码将 无法执行;运行时错误将会在运行代码的时候导致一个 异常。
以上是关于Dart语言:数据类型的主要内容,如果未能解决你的问题,请参考以下文章