Dart 语言学习 01 Dart语言初探、Dart语言数据类型

01 Dart语言初探、Dart语言数据类型

Author : ScorpioDong

1. Dart 语言介绍

Dart 是谷歌开发的计算机编程语言,由 Ecma 认定为标准。Dart 是一门全端开发语言,被用于 web、服务器、移动应用和物联网等领域的开发。Dart 是修改 BSD 证书的开源软件。

Dart 是一门面向对象编程语言,编程风格类似 C 语言语法,它支持各种编程辅助工具,如:接口,类,集合,泛型和可选类型。

在类型系统上,Dart 是一门动态类型语言,它支持 var 类型推断、指定类型定义和 dynamic 动态类型定义。在面向对象方面,Dart 支持单继承,多接口。Dart 支持并发、隔离和异步机制。

Dart 可以编译为 JavaScript 语言代码。

2. 环境配置

首先就是安装 DartSDK,DartSDK 可以从此处下载,不过网站在国外,你们懂得。

另外一种方法,Windows 用户从此Github仓库下载安装包,Linux 用户尝试使用包管理器安装,Mac OS 用户使用 Homebrew 的 cask 源安装。

编辑器推荐使用 VSCode,安装 Dart 插件(推荐安装 Code Runner,自动执行),也可以使用 Idea 或者 Android Studio。

DartPad是 Dart 语言的网络开发环境,可以体验 Dart 语言的大部分功能,足够入门学习使用。

3. Hello World

Dart 文件名命名应该以.dart 结尾,文件名使用英文小写加下划线的命名方式!

新建文件,命名 hello_world.dart,输入如下代码:

main() {
    print("Hello Dart!");
}

main()方法是 Dart 语言预定义的方法,此方法作为程序的入口方法。print()方法能够将字符串输出到标准输出流上(终端)。
Dart语言中的语句以分号结尾。Dart语言忽略程序中出现的空格,制表符和换行符。可以在程序中自由使用空格,制表符和换行符,并且可以自由地以简洁一致的方式格式化和缩进程序,使代码易于阅读和理解。

上述代码的输出应该是:

Hello Dart!
执行 Dart 程序
  1. 如果是在 VSCode 中,并且安装了 Code Runner 插件,配置好了 DartSDK,那么可以直接点击 VSCode 右上角的运行按钮执行。
  2. 终端执行:终端中输入dart hello_world.dart
dart 命令
命令行选项描述
-c--c开启断言和类型检查
--packages <path>指定程序包解析配置文件的路径
-p <path>指定在何处查找导入的库。此选项不能与--packages一起使用
-h--help显示帮助信息

建议在开发和测试期间开启断言和类型检查,有助于代码的开发和调试。但是,为了在运行脚本时确保性能优势,建议Release版本关闭断言和类型检查

3. Dart 语言注释

Dart语言支持单行注释(//),多行注释(/* /)和文档注释(C#风格:/// 或者JavaDoc风格/* */)

4. Dart 语言标识符

标识符是程序中元素的名称,如变量,函数等。

和其他语言一样,Dart语言的标识符有以下特点:

  1. 标识符可以包括字符和数字。但是,标识符不能以数字开头。
  2. 除下划线(_)或美元符号($)外,标识符不能包含特殊符号。
  3. 标识符不能是关键字。
  4. 标识符区分大小写。
  5. 标识符不能包含空格。

Dart语言并没有给出具体的标识符命名规范,但这里给出一些建议:

  1. 变量名、方法、参数名都应该是小写开头的驼峰命名法
  2. 类, 枚举, 类型定义, 以及泛型,使用大写开头的驼峰命名法
  3. 命名库、包、目录、dart文件都应该是小写加上下划线
  4. import引用库使用as转换的名字也应该是小写下划线

5. Dart 语言数据类型

Dart是一门强类型编程语言,但是可以使用var进行变量类型推断。如果要明确说明不需要任何类型, 需要使用特殊类型dynamic。

dynamic修饰定义的变量可以赋值任何语言,在运行中也可以随时赋值任何类型的变量值。

5.1 数字

Dart语言中的数字类型用来表达数学中数字的概念,数字类型有两种类型

  1. int : 整数数据类型,Dart语言只有一种整数数据类型int类型。
  2. double :浮点数类型,Dart语言浮点数只有一种双精度double类型。
int x = 10;
int y = 0xFFEEAA;
double z = 0.1;
var m = 5;

var关键字可以在运行时自动判断变量值并赋予变量数据类型,但和dynamic修饰定义的变量不同的是,var修饰定义的变量赋予类型后其类型已经确定,不能再赋值其他类型的变量值。

5.2 字符串

字符串代表了一系列的字符。Dart字符串是一系列UTF-16代码单元。符文用于表示UTF-32代码单元序列。Dart中的字符串变量使用String修饰定义。单引号或双引号包裹的字符组合表示字符串字面量。

String a = "Hello";
String b = 'Dart';
var c = "Hello Dart";

5.3 布尔类型

要表示布尔值,可使用Dart中的bool类型。布尔类型只有两个值:true和false,它们都是编译时常量。

bool d = false;
bool e = true;
var f = 10 > 15; // f = false

5.4 列表类型

Dart语言中的数组被称作列表(List对象)。Dart语言中的列表类型定义如下:

List<int> list = [1,2];
List<String> list2 = ['hello','dart'];
var list3 = [3,4];

list3[0]  = 8;

List<int> list4 = new List(); // 未初始化,不定长列表
List<int> list5 = new List(5); // 未初始化,定长列表

list4.add(7); // 向列表添加元素
list5[0] = 1; // 赋值列表的0号元素为1

print(list3[0]); // 打印数字8
  • Dart语言中的列表是有序的,像是其他强类型编程语言中的有序集合,列表的类型定义使用到了泛型。
  • 列表元素通过中括号加下标的方式选取使用。
  • 未初始化的列表使用new关键字加list方法创建,list方法可以指定列表长度。
  • 未初始化但指定了长度的定长列表默认元素为null,使用[index]的方式赋值元素。
  • 未初始化也未指定长度的不定长列表使用add(object)方法添加元素。

5.5 集合类型

Dart语言中的集合是指无序集合(Set),集合的创建:

  Set<String> set = <String>{};
  var set1 = <String>{};
  Set<String> set2 = {};

  var set3 = {'hello','dart','world'}; // 使用初始化列表进行初始化
  • 要创建一个空集合,请使用前面带有类型参数的{},或者将{}赋给类型为Set的变量。
  • 可以使用初始化列表加{}进行集合的初始化。
  • 使用add()或addAll()方法添加元素。
  • 使用length()获取集合中元素的个数。

5.6 映射类型

Dart语言中的映射类型相当于Python中的字典类型,其中的元素都是以键值对形式存在的,映射的创建:

var map1 = {1:'a',2:'b'};
var map2 = Map();
Map<String, int> map = {};
  • 映射中的元素都是以键值对存在的,【键不可重复】
  • 可以使用初始化列表初始化映射
  • 可以是有Map()构造方法进行初始话
  • 可以指定类型进行初始化,需要在泛型中明确指定键类型和值类型

5.7 符文类型

在Dart中,符文是字符串的UTF-32代码点。

5.8 符号类型

Symbol对象表示Dart程序中声明的运算符或标识符。

Tips

符文和符号类型在日常使用中并不常用,会在以后使用到的时候再详细说明。
列表和集合也会在以后详细讲解其使用方法。

本文参考了易百教程的Dart语言教程 https://www.yiibai.com/dart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值