dart初见

本文介绍了如何下载并安装DartSDK,配置环境变量,并讲解了Dart的基本数据类型,包括数值、字符串、布尔、列表、Map等,以及变量的final和const区别。还提到了Unicode字符和for-in循环的使用。
摘要由CSDN通过智能技术生成

下载dart

Dart for Windows (gekorm.com)

选择stable,稳定版

安装dart,配置环境PATH加入,E:\flutter\Dart\dart-sdk\bin(安装路径)

打开CMD输入:

dart.exe --version

mac

fucel@Mac-Pro ~ % nano ~/.zshrc

​​​​​​​

export PUB_HOSTED_URL=https://pub.flutter-io.cn;
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
export PATH=/Users/fucel/flutter/flutter/bin:$PATH

 安装成功

安装Visual Studio Code

安装插件dart,code runner

dart是可以按弱类型赋值的强类型

var num=19;类型信息在编译时确定为int

Dart中的基本数据类型:一切皆为对象,初始值都为NULL

  1. 数值型数据类型:包括整数(int)和双精度浮点数(double)两种。
  2. 布尔型数据类型:bool,只有两个值true和false。
  3. 字符串类型:String,表示一系列字符组成的文本。
  4. 列表类型:List,表示按照顺序排列的元素集合,可以包含多种数据类型。
  5. Map类型:Map,表示键值对的映射集合,其中键和值可以是任何类型的对象。
  6. Runes类型:Runes,表示一个UTF-32编码的Unicode字符序列。
  7. Symbols类型:Symbol,表示代码符号,常用于反射程序和符号表。

如果不想值被修改可以定义为

 final x = 100;

  const y = 80;

它们的区别在:const编译时值就要确定, final可以在运行时才确定。

final x = new DateTime.now();//没问题

const y = new DateTime.now();//报错

1,数值型数据类型

var num=19;

var str='hello word';字符串可以是单引号

//string转为int

  var one = int.parse('1');

//string转为double

  double d = double.parse('1.2');

//int转为string

  var str = one.toString();

//double转为string

  str = 3.1415926.toStringAsFixed(2);

  print(str == '3.14');

2,字符串类型

var strX = "hello world";

//使用$符号,引用变量;

  var strY = ('$strX,你好世界!');

  print(strY);

//使用'''创建多行字符串
  str = '''
  第一行,
  第二行,
  第三行,
  。。。。
  ''';

 3,布尔型数据类型

//检查空字符串
  str = '';
  print(str.isEmpty);

  //检查零值
  var i = 0;
  print(i <= 0);

  //检查是否为null
  var n;
  print(n == null);

  //检查NAN
  n = 0 / 0;
  print(n.isNaN);

4,列表类型

 //列表
  var l = [1, 2, 3];
  print(l.length == 3);

  //创建一个常量列表
  var constList = const [1, 2, 3];
  //constList[0] = 4;//编译不能通过

  //扩展运算符...,将列表中的所有元素插入另一个列表,
  var list1 = [1, 2, 3];
  var list2 = [0, ...list1];
  print(list2.length == 4);

  //空值感知运算符?
  var list3;
  var list4 = [0, ...?list3];
  print(list4.length == 1);

if和Collection(集合),使用它在if和for循环中构建集合

判断后添加元素,有没有可能回到过去?在这里自然是不可能。

  var list5 = ['昨天', '今天', if (1 == 0) '回到过去'];

  print(list5.length);

使用for 

var list6 = [1, 2, 3];
  var list7 = ['#0', for (var i in list6) '#$i'];
  print(list7);
[#0, #1, #2, #3]

set,唯一的,无序的集合使用{}定义,加类型就是set,没加类型就是map

var name = <String>{};//创建一个set
set <String> n={};//创建一个set
var name1 = {};//创建一个map

//添加元素
name.add('张三');
name.add('李四');
//添加name中所有的元素
n.addAll(name);

Map 是一种常见的数据结构,用于存储键值对。每个键只能出现一次,但可以多次使用相同的值 ,您可以使用 {} 字面量或 Map 构造函数来创建一个 Map。以下是一个示例:

使用 {} 字面量创建 Map:

var map = {'name': 'John', 'age': 30};

使用 Map 构造函数创建 Map:

var map = Map<String, dynamic>();

map['name'] = 'John';

map['age'] = 30;

通过键访问值:

print(map['name']); // 输出:John

print(map['age']); // 输出:30

遍历 Map 中的键值对:

map.forEach((key, value) { print('$key: $value'); });

输出:

name: John age: 30

请注意,在 Dart 中,Map 的键可以是任何对象,而不仅仅是字符串类型。如果您需要确保 Map 中的键值对具有特定类型,请使用泛型参数,例如 Map<String, int> 表示键为字符串类型,值为整数类型的 Map。

5、Runes类型:Runes,表示一个UTF-32编码的Unicode字符序列

  1. Unicode转义序列

Unicode转义序列是以“\u”为前缀,后跟四个十六进制数字来表示一个字符的Unicode值。例如,要表示拉丁字母大写A(即字符'A'),可以写成'\u0041'。

  1. Unicode代码点表示法

Unicode代码点表示法是以“\u{”为前缀,后跟一个或多个十六进制数字来表示Unicode代码点的值。其中代码点可以由0-10FFFF之间的任何值组成。例如,要表示笑脸表情符号(即字符'😊'),可以写成'\u{1F60A}'。

 var c1 = '\u{1f44f}';
  print(c1);

  Runes c2 = new Runes('\u2665 \u{1f605} \u{1f596} \u{1f60e} \u{1f44d}');
  print(new String.fromCharCodes(c2));

👏

♥ 😅 🖖 😎 👍

在Dart中,switch case语句用于根据不同的情况执行不同的代码块,每个case语句后面必须跟着一个break语句,否则会执行下一个case中的代码块。如果不需要执行任何代码,则可以使用default语句。case语句只是常量,不能是变量或表达式

String grade = 'A';

  switch (grade) {
    case 'A':
      print('优秀');
      break;
    case 'B':
      print('良好');
      break;
    case 'C':
      print('及格');
      break;
    case 'D':
      print('不及格');
      break;
    default:
      print('无效的成绩');
  }

for-in循环是一种方便快捷的遍历迭代器、集合和映射等对象的方式。它使用一种简洁的语法,使得代码易于编写和理解。

var numbers = [1, 2, 3, 4];

  for (var n in numbers) {
    print(n);
  }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值