首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >dart(一)--变量,各数据类型dart(一)--变量,各数据类型

dart(一)--变量,各数据类型dart(一)--变量,各数据类型

作者头像
用户8893176
发布2021-08-09 13:44:13
发布2021-08-09 13:44:13
8350
举报
文章被收录于专栏:小黑娃Henry小黑娃Henry

变量

使用 if(xx is int)这种方式来判断变量类型。

Dart是强类型语言,但变量类型可以自动推断,所有标量初始值都是null。泛型使用dynamic来表示,列如:

代码语言:javascript
复制
dynamic、List<dynamic>;

不可变变量、静态变量,使用:final、const来表示。const的值在编译时确定,final的值需要在运行时确实,且不可修改。const用来修饰静态的变量,final修复不可变得变量。

代码语言:javascript
复制
final name = 'henry';
const age = 15;
const double = 3.1415 * age;

const常值是防止内容变化.final常量是防止变量寻址,final变量用来提升代码的安全性。

代码语言:javascript
复制
final list = [];   //虽然是const修饰[],但是只能代表当前下[]不可变
final list1 = const[];
const list2 = [];
const list3 =
list.add(4) //成立,由于final修饰后变量只要是内存地址不变的前提下都可以修改。
list1.add(4)    //不成立,由于list1指向一个常值不可修改。
list2.add(4)    //不成立,const对应常值,初始化后不论是值、内存地址都不可修改。

var变量

代码语言:javascript
复制
var name = 'henry';
String name = 'henry';
var bool = true;
var boo = false;    //布尔类型只允许使用true、false来表示。

符文数据类型(Rune)

rune是UTF-32码点组成的字符串,可以相互转换。

其他数据类型(使用runtimeType方法获取类型)

数字类型
代码语言:javascript
复制
var i = 1.45e5;     //输出:145000
var one = int.parse(1)   //初始化int类型
var two = double.parse(1.1) //初始化double类型
assert(one == 1)    //常数逻辑判断
字符串
代码语言:javascript
复制
var str = two.toString() //常数转为字符串
String str = 3.1415926.toStringFixed(2);    //取小数点后两位
assert(str == 3.14); //字符串逻辑判断
var s1 = 'liuuuii';
var s2 = 'l\'suuu';  //输出 : i'suuu 如果使用单引号则单引号需要转义
var s3 = "l'suuu";  //输出 : i'suuu  如果使用双引号则单引号无需转义
var s4 = ''' liu
heng
shi 
'''                 //如果需要换行符则使用'''符号,字符串格式保留。与swift相同
var s5 = r'\naaa';  //输出:\naaa,如果在字符串前加r,则表示后方字符串中任意字符都不做转义   
var s6 = 'dffdsf$s5'; //输出:dffdsf\naaa    $+变量名、 ${表达式},实现字符串的插值。
var s7 = 'dddd${s6.toString()}';
var b = assert(s7.isEmpty); //字符串为空
数组
代码语言:javascript
复制
var a = const[1,2,3];//特殊情况,a的值(内存地址)可以改变,但是当前数组被const修饰,是无法修改的.
list<widget> = [];  //定义类型为<widget>的数组
map(哈希表、字典)
类型定义如:(map<String, num> json)
代码语言:javascript
复制
var giraffe = {'1':'asd', '2':'asd', '3':'asd'};
giraffe.runtimeType //输出:JsLinkedHashMap<String, String>
var giraffe = {'1':'asd', '2':'asd', 3:'asd'};
giraffe.runtimeType //输出:JsLinkedHashMap<Object, String>
giraffe['1'] = 'bsa'    //值修改
var elephant = const {'1':'asd', '2':'asd', 3:'asd'};
elephante['1'] = 'bsa'  //不成立,当前map值无法修改
elephante = {'a':'lili'}  //成立
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/4/22 下,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 变量
    • 使用 if(xx is int)这种方式来判断变量类型。
    • Dart是强类型语言,但变量类型可以自动推断,所有标量初始值都是null。泛型使用dynamic来表示,列如:
    • 不可变变量、静态变量,使用:final、const来表示。const的值在编译时确定,final的值需要在运行时确实,且不可修改。const用来修饰静态的变量,final修复不可变得变量。
    • const常值是防止内容变化.final常量是防止变量寻址,final变量用来提升代码的安全性。
    • var变量
    • 符文数据类型(Rune)
      • rune是UTF-32码点组成的字符串,可以相互转换。
    • 其他数据类型(使用runtimeType方法获取类型)
      • 数字类型
      • 字符串
      • 数组
      • map(哈希表、字典)
      • 类型定义如:(map<String, num> json)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档