Dart基础入门

news2024/11/28 19:02:02

Dart 是一种由 Google 开发的开源编程语言,它可以用来构建服务器、Web 应用和移动应用。Dart 语言设计得既现代化又易于学习,它支持面向对象编程(OOP)、函数式编程风格,并且具有类似于 Java 或 C# 的语法。Dart 语言和 Flutter 框架紧密相关,Flutter 是一个由 Google 开发的开源 UI 软件开发工具包(SDK),用于构建跨平台的应用程序。Flutter 使用 Dart 作为其主要编程语言,这使得开发者可以使用一套代码库来创建高性能、美观的应用程序,并且这些应用程序可以在 iOS、Android、Web、Windows、macOS 和 Linux 上运行。
在这里插入图片描述

Dart 基础入门

  1. 安装 Dart SDK
    要开始使用 Dart,首先需要安装 Dart SDK。你可以从 Dart 官方网站下载适合你操作系统的版本。安装完成后,可以通过命令行工具 dart 来运行 Dart 程序。

  2. 创建你的第一个 Dart 程序
    打开文本编辑器或 IDE(如 VS Code),创建一个名为 hello_world.dart 的文件,并添加以下代码:

void main() {
  print('Hello, World!');
}

变量,常量与数据类型

Dart 支持多种数据类型,包括数字(int, double)、字符串(String)、布尔值(bool)等。声明变量时可以指定类型,也可以让编译器自动推断类型:

int age = 25;
double height = 5.9;
String name = "Alice";
bool isStudent = true;

final 或者 const 可以定义常量,也都能自动推断类型。类的实例常量,只能用 final,不能用 const。const 适用于在编译时就确定的常量,final 允许在运行时才确定值:

final name = 'Bob';
final String nickname = 'Bobby';

控制流语句

if/else 用于条件判断。
for 和 while 循环用于重复执行一段代码。

// if-else 示例
int number = 5;
if (number > 0) {
  print("Number is positive.");
} else {
  print("Number is not positive.");
}

// for 循环示例
for (int i = 0; i < 5; i++) {
  print(i);
}

// while 循环示例
int j = 0;
while (j < 5) {
  print(j);
  j++;
}

函数

函数是组织代码的基本单位,可以帮助实现代码重用。在 Dart 中定义函数使用 functionName(parameters) => returnType { … } 的形式。

int add(int a, int b) {
  return a + b;
}

// 使用箭头函数简化
int subtract(int a, int b) => a - b;

void main() {
  print(add(10, 20));
  print(subtract(10, 20));
}

类与对象

Dart 是面向对象的语言,几乎所有的实体都是对象。类定义了对象的数据结构以及可以在这些对象上执行的操作。

class Person {
  String name;
  int age;

  // 构造函数
  Person(this.name, this.age);

  void sayHello() {
    print("Hello, my name is $name and I am $age years old.");
  }
}

void main() {
  var person = Person("John", 30);
  person.sayHello();
}

静态成员
静态成员属于类而不是类的实例。这包括静态变量、静态方法等:

class Calculator {
  static int addNumbers(int a, int b) => a + b;
}

void main() {
  print(Calculator.addNumbers(5, 7)); // 输出 12
}

同样,和java一样可以建立枚举类:

enum Color { red, green, blue }

void main() {
  for (var color in Color.values) {
    print(color); // 输出 red, green, blue
  }
}

为什么 Flutter 选择 Dart

  1. 性能: Dart 可以编译成本地机器码,这为 Flutter 应用提供了接近原生应用的性能。提前编译 (AOT) 技术允许在发布时将 Dart 代码转换成高效的本地代码。即时编译 (JIT) 在开发过程中提供快速迭代。
  2. 开发效率: Dart 的语法简洁明了,易于学习和使用。热重载功能允许开发者在不丢失状态的情况下即时查看代码更改的效果。强大的类型系统减少了运行时错误,同时保持开发过程中的灵活性。
  3. 统一的工具链 Dart 和 Flutter 共享相同的工具链,包括分析器、调试器和测试框架等。这种一致性简化了开发流程,提高了工作效率。
  4. 丰富的库支持: Dart 生态系统提供了大量的库,这些库可以通过 pub.dev 获取,帮助开发者轻松集成各种功能。Flutter 自带了许多高质量的组件和插件,可以直接使用或自定义。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2192219.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

性能测试学习2:常见的性能测试策略(基准测试/负载测试/稳定性测试/压力测试/并发测试)

一.基准测试 1&#xff09;概念 狭义上讲&#xff1a;就是单用户测试。测试环境确定后&#xff0c;对业务模型中的重要业务做单独的测试&#xff0c;获取单用户运行时的各项性能指标。 广义上&#xff1a;是一种测量和评估软件性能指标的活动。可以在某个时刻通过基准测试建立…

[MASM] masm32的下载及详细安装使用过程(附有下载文件)

目录 下载 配置环境 编译 链接 masm的安装和环境配置 下载链接在文末 下载 下载安装包后复制到虚拟机win7系统的桌面 win7安装到虚拟机的步骤&#xff1a; [win7] win7系统的下载及在虚拟机中详细安装过程&#xff08;附有下载文件&#xff09;-CSDN博客 双击压缩包&…

微信消息转发(微信消息转发方案的取舍)

机构可能会有很多的粉丝群&#xff0c;老师有很多家长群&#xff0c;比如发送通知 如果一个个的群发送那么就很繁琐。所以就有一键群发的需求。只需要在一个群发送内容主动同步到其他群。 微信消息转发方案取舍 方案1. 因为微信有本地数据库SQLite&#xff0c; 消息会保存到本…

Redis安装RedisBloom插件

Redis安装RedisBloom插件 1. 下载RedisBloom2. 安装RedisBloom3. Redis 安装RedisBloom4. 验证是否安装成功5. 其他安装方法5.1 使用 Docker 安装 RedisBloom5.2 通过 RedisStack 安装 RedisBloom 是一个 Redis 模块&#xff0c;它提供了一种高效的方式来存储和检索大数据集中的…

频繁full gc问题排查及解决

为什么我们要对频繁full gc的情况进行处理---》频繁full gc会导致stw&#xff0c;影响用户体验。 &#xff08;1&#xff09;先进行问题的排查 如果频繁full gc 会报警&#xff0c;公司有自己的监控平台&#xff0c;可以查看full gc的情况 如果公司没有自己的监控平台&#…

爬虫案例——爬取情话网数据

需求&#xff1a; 1.爬取情话网站中表白里面的所有句子&#xff08;表白词_表白的话_表白句子情话大全_情话网&#xff09; 2.利用XPath来进行解析 3.使用面向对象形发请求——创建一个类 4.将爬取下来的数据保存在数据库中 写出对应解析语法 //div[class"box labelbo…

【实战篇】自增主键为什么不是连续的?

背景 由于自增主键可以让主键索引尽量地保持递增顺序插入&#xff0c;避免了页分裂&#xff0c;因此索引更紧凑。 之前我见过有的业务设计依赖于自增主键的连续性&#xff0c;也就是说&#xff0c;这个设计假设自增主键是连续的。但实际上&#xff0c;这样的假设是错的&#…

Linux高阶——Github本地仓库与云端仓库关联

1、安装代理软件 steam 选择Github和系统代理模式&#xff0c;一键加速即可 2、 安装Git 3、访问Github网站&#xff0c;创建新用户 4、Github探索 &#xff08;1&#xff09;Explore探索标签 &#xff08;2&#xff09;工程结构 用户名/仓库名 自述文件&#xff0c;用markdo…

C语言复习概要(三)

本文 使用Visual Studio进行调试的技巧与函数递归详解1. 引言2. Visual Studio 调试技巧2.1. 断点的使用2.1.1. 基本断点示例&#xff1a;设置基本断点 2.1.2. 条件断点示例&#xff1a;条件断点 2.2. 逐步执行代码示例&#xff1a;逐步执行代码 2.3. 监视变量使用监视窗口 2.4…

希捷8T硬盘exfat变0字节的恢复方法

最近流行的3.5寸大容量台式硬盘移动盒子是一种性价比较高的组合&#xff0c;为了方便如涉及到跨平台&#xff08;win和mac&#xff09;&#xff0c;大多数此类组合选择了exfat文件系统。下边这个案例就是我们经常遇到的exfat变0字节。 故障存储: ST8000HKVS002 8T/exfat 文件…

STM32F407 HAL库单通道ADC采集并串口打印电压值

本文将介绍如何使用STM32F407的HAL库实现单通道ADC采集&#xff0c;并通过串口将采集到的电压值打印出来。具体地&#xff0c;我们将使用ADC1读取通道5&#xff08;对应引脚PA5&#xff09;&#xff0c;并将转换后的电压值用串口1发送到串口助手上进行显示。 一、开发环境 硬件…

类和对象的学习1

类和对象的学习1 [TOC](类和对象的学习1一、类的定义1.类定义格式2.访问限定符 二、实例对象1.实例3.对象大小4. this指针5.⾯向对象三⼤特性“封装、继承、多态”中的封装) 一、类的定义 1.类定义格式 1.1 class为定义类的关键字&#xff0c;Stack为类的名字&#xff0c;{}中…

第十五周周报

目录 摘要Abstract1 LSTM模型实战1.1 数据处理1.2 LSTM模型的搭建1.3 数据的预测和可视化 2 transformer&#xff08;上&#xff09;2.1 Transformer 结构2.2 Transformer 编码器 总结 摘要 本周的工作内容主要分为两个部分&#xff0c;第一部分是使用LSTM模型预测股票市场数据…

Python(八)-异常

目录 什么是异常 快速入门异常 常见的异常类型 常见处理方式 捕获一个指定异常 捕获多个异常 捕获所有的异常 异常的其他关键字 异常具有传递性 什么是异常 异常指的是Python程序发生的不正常事件。 有时候&#xff0c;异常可称为错误。 当检测到一个错误时&#x…

CPU飙高如何处理?

测试人员在压测的时候&#xff0c;会对应用进行测试&#xff0c;这个时候会查看cpu、内存、load、rt、qps等指标 CPU利用率是来描述CPU的使用情况的&#xff0c;表明了一段时间内CPU被占用的情况。使用率越高&#xff0c;说明机器在这个时间上运行了很多程序。 如何进行问题定…

codetop标签树刷题(四)!!暴打面试官!!!!

用于个人复习 1.二叉树的右视图2.二叉树最大宽度3.二叉树的最大深度4.N叉树的最大深度5.二叉树的最小深度6.子树的最大平均值7.求根节点到叶节点的数字之和8.另一棵树的子树9.对称二叉树 1.二叉树的右视图 给定一个二叉树的根节点root&#xff0c;想象自己站在它的右侧&#x…

麒麟操作系统如何识别提取图片中的文字

在工作、学习中&#xff0c;我们经常会需要从图片中提取文字&#xff0c;在手机上或其它操作系统上&#xff0c;有各种方法。本书中&#xff0c;我们介绍麒麟操作系统提取图片中文字的方法。 首先准备好自己需要的文档截图&#xff0c;把不需要的部分裁掉&#xff0c;以免影响…

电容笔值得买吗?2024精选盘点推荐五大惊艳平替电容笔!

电容笔还是很值得买的&#xff0c;不管是对于日常书写&#xff0c;简单笔记&#xff0c;还是绘画等场景而言&#xff0c;选择一款性价比高的平替电容笔都能提升生产力。可是现在市面上的品牌很多&#xff0c;该如何挑选最适合自己的电容笔呢&#xff1f;不用着急&#xff0c;我…

【AIGC半月报】AIGC大模型启元:2024.10(上)

【AIGC半月报】AIGC大模型启元&#xff1a;2024.10&#xff08;上&#xff09; (1) YOLO11&#xff08;Ultralytics新作&#xff09; (1) YOLO11&#xff08;Ultralytics新作&#xff09; 2024.10.01 Ultralytics在 YOLO Vision 2024 活动上宣布发布其新的计算机视觉模型 YOLO…

千元级体验--希亦ACE迷你洗衣机测评分享,宝妈必备的性价比好物

​小孩子的衣物是不建议和大人衣物一起洗的&#xff0c;一方面是他们的免疫力比较低下&#xff0c;如果和大人混杂各种污渍病菌一起洗的话&#xff0c;容易有感染细菌的可能。而另一方面&#xff0c;小孩子特别是女婴的衣物&#xff0c;更要仔细注意&#xff0c;因为大人的衣物…