dart 基本语法

2024-06-08 07:28
文章标签 语法 基本 dart

本文主要是介绍dart 基本语法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//入口方法
main() 或 void main()

//数据类型

  1. 原生数据类型
    String int double bool null
    注意:String 包函 ‘’ “” ‘’’ ‘’’ 三种形式
  2. 复杂数据类型
    list Set Map
  3. 自定义数据类型
    class inheritance
  4. 动态数据类型
    var
    注:dart 是静态类型语言,但同时也是动态语言

//运算符
算术运算符:+, -, *, /, %

关系运算符:==, !=, >, <, >=, <=

逻辑运算符:&&, ||, !

条件运算符(三元运算符):condition ? expr1 : expr2

赋值运算符:=, +=, -=, *=, /=, %=, ??=

位运算符:&, |, ^, ~, >>, <<, >>>

//类型转换
1.使用as关键字进行类型转换
ex: String str = obj as String;
2.使用is操作符检查类型,然后进行转换
ex: obj is String
3.使用dynamic类型进行无检查的类型转换
ex: dynamic value = ‘This is a string’;
String str = value;

//循环语句

  1. for循环
  2. while循环
  3. do-while循环
  4. continue和break

//集合类型

  1. List(列表)
    列表是一个有序的集合,你可以通过索引来访问或者修改元素。
    ex:var list = [1, 2, 3];
  2. Set(集合)
    集合是一个无序的集合,它只能包含不重复的元素。
    ex: var set = {1, 2, 3};
  3. Map(映射)
    映射是一个键值对的集合,键必须是唯一的。
  4. Queue(队列)
    先入先出的集合。

//集合常用方法
forEach(): 用于遍历集合中的每个元素,没有返回值
map(): 将每个元素转换为新元素,返回转换后的集合
where(): 过滤集合中的元素,返回符合条件的元素集合
reduce(): 将集合中的元素组合起来,返回一个单一结果

//变量命名规则

  1. 变量名称必须由数字、字母下划线和美元符号组成
  2. 注意:标识开头不能是数字
  3. 标识符不能是保留字或关键字
  4. 变量名称区分大小写

// dart 关键字
abstract - 用于定义接口或抽象类中的方法或属性。
as - 用于在期望类型的表达式中进行类型转换。
assert - 用于在测试期望的条件是否满足。
async - 用于定义异步函数。
await - 用于暂停异步函数的执行,直到等待某个未完成的Future完成。
const - 用于定义常量。
continue - 用于跳过当前循环的剩余部分并开始下一次循环。
default - 用于switch语句中,表示一个默认的分支。
deferred - 用于延迟加载库。
do - 用于do-while循环的循环体。
dynamic - 表示动态类型,可以赋予任何类型的值。
else - 用于条件语句中的否定分支。
enum - 用于定义枚举类型。
export - 用于导出库。
extends - 用于表示一个类是另一个类的子类。
external - 用于声明在外部定义(如C代码)中实现的方法。
factory - 用于定义工厂构造函数。
false - 布尔类型的值,表示假。
final - 用于定义一个不可变的变量。
finally - 用于try-catch-finally语句中,无论是否发生异常,都将执行的代码块。
get - 用于定义getter方法。
hide - 用于导入库时,隐藏指定的API。
implements - 用于表示一个类实现了指定的接口。
import - 用于导入库。
in - 用于判断是否在集合中。
inout - 用于标记函数的输入参数。
instanceof - 用于检查对象是否是指定类的实例。
is - 用于检查对象是否是指定类型或者实现了指定的接口。
library - 用于声明库。
mixin - 用于混入。
native - 用于声明由宿主环境提供的方法实现。
new - 用于创建对象。
null - 表示空值。
on - 用于处理异常。
operator - 用于定义操作符。
out - 用于标记函数的输出参数。
part - 用于声明一个库的部分。
rethrow - 用于再次抛出一个捕获的异常。
static - 用于定义静态成员。
super - 用于表示父类的成员。
switch - 用于switch语句。
sync* - 用于定义一个同步生成器。
this - 用于表示当前对象。
throw - 用于抛出一个异常。
true - 布尔类型的值,表示真。
try - 用于try-catch-finally语句中,尝试执行的代码块。
typedef - 用于定义类型别名。
var - 用于定义变量,可以改变其类型。
void - 表示没有返回值的函数。
while - 用于while循环。
with - 用于混入。
yield - 用于生成器函数中返回值

// final 和 const 区别
final 是惰性初始化,可以在运行时赋值。
const 是编译时常量,不能运行时赋值。

这篇关于dart 基本语法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1041528

相关文章

基本知识点

1、c++的输入加上ios::sync_with_stdio(false);  等价于 c的输入,读取速度会加快(但是在字符串的题里面和容易出现问题) 2、lower_bound()和upper_bound() iterator lower_bound( const key_type &key ): 返回一个迭代器,指向键值>= key的第一个元素。 iterator upper_bou

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

C 语言的基本数据类型

C 语言的基本数据类型 注:本文面向 C 语言初学者,如果你是熟手,那就不用看了。 有人问我,char、short、int、long、float、double 等这些关键字到底是什么意思,如果说他们是数据类型的话,那么为啥有这么多数据类型呢? 如果写了一句: int a; 那么执行的时候在内存中会有什么变化呢? 橡皮泥大家都玩过吧,一般你买橡皮泥的时候,店家会赠送一些模板。 上

FreeRTOS-基本介绍和移植STM32

FreeRTOS-基本介绍和STM32移植 一、裸机开发和操作系统开发介绍二、任务调度和任务状态介绍2.1 任务调度2.1.1 抢占式调度2.1.2 时间片调度 2.2 任务状态 三、FreeRTOS源码和移植STM323.1 FreeRTOS源码3.2 FreeRTOS移植STM323.2.1 代码移植3.2.2 时钟中断配置 一、裸机开发和操作系统开发介绍 裸机:前后台系

Java 多线程的基本方式

Java 多线程的基本方式 基础实现两种方式: 通过实现Callable 接口方式(可得到返回值):

C++语法知识点合集:11.模板

文章目录 一、非类型模板参数1.非类型模板参数的基本形式2.指针作为非类型模板参数3.引用作为非类型模板参数4.非类型模板参数的限制和陷阱:5.几个问题 二、模板的特化1.概念2.函数模板特化3.类模板特化(1)全特化(2)偏特化(3)类模板特化应用示例 三、模板分离编译1.概念2.模板的分离编译 模版总结 一、非类型模板参数 模板参数分类类型形参与非类型形参 非类型模板

Java基础回顾系列-第一天-基本语法

基本语法 Java基础回顾系列-第一天-基本语法基础常识人机交互方式常用的DOS命令什么是计算机语言(编程语言) Java语言简介Java程序运行机制Java虚拟机(Java Virtual Machine)垃圾收集机制(Garbage Collection) Java语言的特点面向对象健壮性跨平台性 编写第一个Java程序什么是JDK, JRE下载及安装 JDK配置环境变量 pathHe

Hibernate框架中,使用JDBC语法

/*** 调用存储过程* * @param PRONAME* @return*/public CallableStatement citePro(final String PRONAME){Session session = getCurrentSession();CallableStatement pro = session.doReturningWork(new ReturningWork<C

ORACLE语法-包(package)、存储过程(procedure)、游标(cursor)以及java对Result结果集的处理

陈科肇 示例: 包规范 CREATE OR REPLACE PACKAGE PACK_WMS_YX IS-- Author : CKZ-- Created : 2015/8/28 9:52:29-- Purpose : 同步数据-- Public type declarations,游标 退休订单TYPE retCursor IS REF CURSOR;-- RETURN vi_co_co

Gradle的基本使用

新建一个项目后,在项目文件夹下创建build.gradle文件,并加入内容:       apply plugin: 'eclipse'。    然后在终端运行gradle eclipse即可构建eclipse IDE的开发环境。    gradle默认值:gradle有些目录是有默认值存在,建议项目的配置,承袭了maven的风格,如:         java的源码目录:src/mai