首页 > 其他分享 >前端学习-Dart官方文档学习-002-类型

前端学习-Dart官方文档学习-002-类型

时间:2024-05-29 13:34:17浏览次数:23  
标签:assert gifts String List Dart 学习 002 类型 var

官方文档链接

基本类型

Dart支持以下类型:

Numbers (int, double)
Strings (String)
Booleans (bool)
Records ((value1, value2))
Lists (List, also known as arrays)
Sets (Set)
Maps (Map)
Runes (Runes; often replaced by the characters API)
Symbols (Symbol)
The value null (Null)

Object: The superclass of all Dart classes except Null.
Enum: The superclass of all enums.
Future and Stream: Used in asynchrony support.
Iterable: Used in for-in loops and in synchronous generator functions.
Never: Indicates that an expression can never successfully finish evaluating. Most often used for functions that always throw an exception.
dynamic: Indicates that you want to disable static checking. Usually you should use Object or Object? instead.
void: Indicates that a value is never used. Often used as a return type.

Numbers(int double)

  • If num and its subtypes don't have what you're looking for, the dart:math library might.
// int 类型
var x = 1;
var hex = 0xDEADBEEF;
// double 类型
var y = 1.1;
var exponents = 1.42e5;
// num类型(可以是int也可以是double)
num x = 1; // x can have both int and double values
x += 2.5;
// int 可转为 double
double z = 1; // Equivalent to double z = 1.0.
  • 将 String 转为 num , num 转为 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');

Strings

// 使用''或""创建String
var s1 = 'Single quotes work well for string literals.';
var s2 = "Double quotes work just as well.";
// 两种连接字符串的方式:相邻字面量 或 使用+
var s1 = 'String '
    'concatenation'
    " works even over line breaks.";
assert(s1 ==
    'String concatenation works even over '
        'line breaks.');

var s2 = 'The + operator ' + 'works, as well.';
assert(s2 == 'The + operator works, as well.');
// ${expression}嵌入表达式 或 $variable 嵌入变量
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!');
// 对于多行String 使用'''
var s1 = '''
You can create
multi-line strings like this one.
''';

var s2 = """This is also a
multi-line string.""";
// r开头创建raw字符串 转义字符等特殊字符会被直接输出,而不会被自动转义;如\n会直接输出,而不会换行
var s = r'In a raw string, not even \n gets special treatment.';

Booleans

由于Dart有类型安全,类似if (nonbooleanValue) or assert (nonbooleanValue)这样的代码不能使用,需按以下方式使用

// Check for an empty string.
var fullName = '';
assert(fullName.isEmpty);

// Check for zero.
var hitPoints = 0;
assert(hitPoints == 0);

// Check for null.
var unicorn = null;
assert(unicorn == null);

// Check for NaN.
var iMeantToDoThis = 0 / 0;
assert(iMeantToDoThis.isNaN);

Runes and grapheme clusters

import 'package:characters/characters.dart';

void main() {
  var hi = 'Hi 

标签:assert,gifts,String,List,Dart,学习,002,类型,var
From: https://www.cnblogs.com/ayubene/p/18210067

相关文章

  • 【机器学习】Chameleon多模态模型探究
    Chameleon:引领多模态模型的新时代一、多模态模型的时代背景二、Chameleon模型的介绍三、Chameleon模型的技术特点四、Chameleon模型的性能评估五、Chameleon模型的代码实例随着人工智能技术的深入发展,我们逐渐认识到单一模态的模型在处理复杂问题时存在一定的局限......
  • 521源码-免费源码下载-免费学习网站教程-宝塔面板ssl网站证书到期后弹出无法续期错误
    宝塔面板如果从老版本升级到8.10后,当点站证书过期续期时会弹出错误:排查文件是找不到问题出在哪里,导致续期错误。解决办法:通过摸索,最简单的就是删除站点,注意:只是删除,不是把数据可和网站源码删除。然后从新建立网站,指定目录,在申请证书就OK了!更多网站源码学习教程,请点击......
  • ctf-pwn 学习前知(1)
    学习pwn这个抽象到一定程度的东西,前期的坐牢是一定的,一个题目延申出的新知识也是超多的。所以写一个这个板块记录一下自己学习的东西,或许会有(2),(3)....checksec拿buuctf的test_your_nc为例子可以看到checksec后出现了很多东西Arch:amd64-64-little(程序架构信息,这是一个64位......
  • 关于希尔算法的学习笔记
    希尔算法的简介希尔算法是插入算法的升级版,D.L.Shell于1959提出,是一种减少增量算法,提出的过程为作者发现插入算法的时间复杂度会随着数组的有序性上升而下降,所以采用分组的算法,使各个组内变得有序,提升整体的有序性,从而减少插入算法的时间.希尔算法的原理比如说我......
  • 梯度提升机器LightGBM集成学习回归、分类、参数调优可视化实例|附数据代码
    全文链接:https://tecdat.cn/?p=36275原文出处:拓端数据部落公众号LightGradientBoostedMachine(简称LightGBM)是一个开源库,它为梯度提升算法提供了高效且有效的实现。LightGBM通过添加一种自动特征选择的方式,并专注于提升具有较大梯度的样本,来扩展梯度提升算法。这可以显著加速......
  • React学习教程
    ReactReact前言官方文档React18中文文档1(国内社区):https://react.docschina.org/React18中文文档2(官方):https://zh-hans.reactjs.orgReact18英文文档:https://reactjs.orgReact17英文文档:https://17.reactjs.orgreact概述React是一个用于动态构建用......
  • B站尚硅谷Promise学习记录
    文章目录一、Promise是什么1.Promise初体验二、Promise的好处1.指定回调函数的方式更加灵活2.可以解决回调地狱问题,支持链式调用三、Promise实例对象的两个属性四、resolve函数以及reject函数五、Promise的then方法六、Promise下的几种方法1.Promise.resolve()2.Promis......
  • 深度学习笔记: 详解处理类别不平衡
    欢迎收藏Star我的MachineLearningBlog:https://github.com/purepisces/Wenqing-Machine_Learning_Blog。如果收藏star,有问题可以随时与我交流,谢谢大家!处理类别不平衡在欺诈检测、点击预测或垃圾邮件检测等机器学习用例中,通常会遇到标签不平衡的问题。根据具体用例,可......
  • VUE学习笔记(十一)-登录和状态管理
    登录和状态管理src/auth/views/UserLogin.vue<template><divclass="login"><divclass="body"><divclass="container"><h2>用户登陆</h2><el-......
  • LLM 大模型学习必知必会系列(八):10分钟微调专属于自己的大模型
    LLM大模型学习必知必会系列(八):10分钟微调专属于自己的大模型1.环境安装#设置pip全局镜像(加速下载)pipconfigsetglobal.index-urlhttps://mirrors.aliyun.com/pypi/simple/#安装ms-swiftpipinstall'ms-swift[llm]'-U#环境对齐(通常不需要运行.如果你运行错......