flutter语言篇一

官方网址 dart.dev/guides/lang…
基础类型

1.Number类型

两种 int 和 double,它们父类型为num,其中num 操作符注意点见下:

    //compareTo操作符
    print((-0.0).compareTo(0.0));  // => -1
    print(double.nan.compareTo(double.nan));  // => 0
    print(double.infinity.compareTo(double.nan)); // => -1
    //==操作符
    print(-0.0 == 0.0); // => true
    print(double.nan == double.nan);  // => false
    print(double.infinity < double.nan);  // => false
    print(double.nan < double.infinity);  // => false
    print(double.nan == double.infinity);  // => false
复制代码

int、double、String转换

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

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

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

// double -> String
String piAsString = 3.14159.toStringAsFixed(2);
assert(piAsString == '3.14');
复制代码
2.String类型

可在字符串中使用${expression}来表示该expression值

var s = 'string interpolation';

assert('Dart has $s, which is very handy.' ==
    'Dart has string interpolation, ' +
        'which is very handy.');
assert('That deserves all caps. ' +
        '${s.toUpperCase()} is very handy!' ==
    'That deserves all caps. ' +
        'STRING INTERPOLATION is very handy!');
复制代码

== 操作符,当两个字符串值相同时,即等值

var s2 = 'The + operator ' + 'works, as well.';
assert(s2 == 'The + operator works, as well.');
复制代码

使用```,可创建折行字符串

var s1 = '''
You can create
multi-line strings like this one.
''';
复制代码

字符串中包含转移字符时,可在字符串开头使用r表示使用该字符本身,去除转义

var s = r'In a raw string, not even \n gets special treatment.';
复制代码
3.bool类型

只有两个值 true和false

4.list

list分长度固定和非长度固定,长度固定则与数组一样,非固定则可动态添加成员

List<int> fixedLengthList = new List(5);
fixedLengthList.length = 0;  // Error
fixedLengthList.add(499);    // Error
fixedLengthList[0] = 87;

List<int> growableList = [1, 2];
growableList.length = 0;
growableList.add(499);
growableList[0] = 87;
复制代码

可使用构造函数创建list,参数中传入长度值,则为定长list;否则可变长度list

// The created list is fixed-length if [length] is provided.
List fixedLengthList = new List(3);
fixedLengthList.length;     // 3
fixedLengthList.length = 1; // Error
 
// The list has length 0 and is growable if [length] is omitted.
List growableList = new List();
growableList.length; // 0;
growableList.length = 3;
复制代码

可以使用...插入另外一个列表

var list = [1, 2, 3];
var list2 = [0, ...list];
assert(list2.length == 4);
复制代码

待插入列表可能为空,则可使用...?

var list;
var list2 = [0, ...?list];
assert(list2.length == 1);
复制代码

可使用if和for插入列表元素

//if
var nav = [
  'Home',
  'Furniture',
  'Plants',
  if (promoActive) 'Outlet'
];
//for
var listOfInts = [1, 2, 3];
var listOfStrings = [
  '#0',
  for (var i in listOfInts) '#$i'
];
assert(listOfStrings[1] == '#1');
复制代码
5.set

无序且成员值唯一

var halogens = {'fluorine', 'chlorine', 'bromine', 'iodine', 'astatine'};

复制代码

{}加成员类型,创建set。如果不声明成员类型,则创建的是map类型

var names = <String>{};
// Set<String> names = {}; // This works, too.
// var names = {}; // Creates a map, not a set.
复制代码

可使用add()或者addAll()添加新成员

var elements = <String>{};
elements.add('fluorine');
elements.addAll(halogens);
复制代码
6.map类型
var gifts = {
  // Key:    Value
  'first': 'partridge',
  'second': 'turtledoves',
  'fifth': 'golden rings'
};
复制代码

可使用map构造函数创建map

var gifts = Map();
gifts['first'] = 'partridge';
gifts['second'] = 'turtledoves';
gifts['fifth'] = 'golden rings';
复制代码
7.Runes

utf-32编码的字符串类型,关于编码的知识见: blog.csdn.net/Deft_MKJing…
关于utf-8、utf-16、utf-32,见: blog.csdn.net/guxiaonuan/…

转载于:https://juejin.im/post/5cda2f87f265da037a3d0c63

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值