当前位置:网站首页 > Dart编程 > 正文

入门 Dart 编程:为 Flutter 开发应用打下基础_flutter main.dart

前言:

Dart 是一门现代化的、多用途的编程语言,最为广泛应用于移动应用开发中的 Flutter 框架。本篇博客旨在为初学者提供 Dart 编程的基础概念,为进一步探索 Flutter 开发打下坚实基础。

DartPad 演示 🎯

首先,让我们熟悉 DartPad,这是一个在线沙盒,用于测试 Dart 代码。你可以在 [dartpad.dev](https://dartpad.dev) 上尝试各种 Dart 代码片段。

变量 📊

Dart 使用变量来存储值,支持整数(int)、字符串(String)、布尔(bool)和动态类型(dynamic) 。静态类型语言的特性使得一旦给变量指定类型,就不能更改类型。

// Integer variable int age = 30; print(age); // String variable String name = 'Chun-Li'; print(name); // Boolean variable bool isNight = false; print(isNight); // Dynamic variable dynamic dynamicVar = 'Chun-Li'; print(dynamicVar); dynamicVar = 30; // Dynamic allows type change print(dynamicVar);

函数 📝

主函数 `void main()` 是 Dart 程序的入口点。使用 `void` 关键字表示函数不返回任何值。箭头函数适用于单行返回的情况。

// Void function void printHello() {   print('Hello!'); } // Function with return type String greeting() {   return 'Hello, Dart!'; } // Arrow function String greetingArrow() => 'Hello, Dart! (Arrow)';

列表 📜

列表在 Dart 中类似于 JavaScript 中的数组,使用方括号表示。在声明列表时指定元素类型的重要性,以确保一致性。接下来我将实例如何创建、添加和删除列表中的元素。

// List declaration List<String> names = ['Chun-Li', 'Yoshi', 'Miriao']; // Print names print(names); // Add to the list names.add('Luigi'); print(names); // Remove from the list names.remove('Yoshi'); print(names);

动态类型 🔄

// Dynamic type dynamic dynamicVar = 'Chun-Li'; print(dynamicVar); dynamicVar = 30; // Allowed in dynamic type print(dynamicVar);

类和继承 🏗️

类的概念

类是编程语言中的概念,类似于对象的蓝图,用于描述对象的属性和方法。

通过创建类,可以定义对象的结构,例如用户对象,以便存储相关信息。

实例化类

要创建实际的对象,需要实例化类。通过调用类名称并传递参数来实例化对象。

构造函数

构造函数是实例化类时运行的特殊函数,用于设置对象的初始状态。可以接受参数,使每个实例的属性值不同。

class User {   String username;   int age;   User(String username, int age) {     this.username = username;     this.age = age;   }   void login() {     print('User logged in');   } }

继承

继承是一种机制,允许一个类继承另一个类的属性和方法。使用 `extends` 关键字实现继承。

子类(派生类)继承父类(基类)的属性和方法,同时可以添加自己的属性和方法。

class SuperUser extends User {   void publish() {     print('Published update');   } } SuperUser user3 = SuperUser('Yoshi', 20); user3.publish();

Maps 🗺️

Maps 是键值对的集合,类似于 JavaScript 中的对象字面量或 Python 中的字典。在 Dart 中,使用冒号 `:` 分隔键和值。

注意!在Dart 中,Map 的键值对是使用冒号 : 进行赋值的,而不是等号 =

//创建Map: Map<String, dynamic> student = {'name': 'Sean Lee', 'age': 25}; //访问Map的值: print(student['name']);

空安全语法 🚧

Dart 引入了空安全语法,使用 `?.` 操作符简化对可能为 `null` 的对象的成员访问,以避免因为访问 null 对象的属性或方法而导致的运行时异常。这使得代码更简洁、安全,避免了大量的空值检查代码。

1.访问对象属性:

// Before null safety if (user != null) {   print(user.name); } // After null safety print(user?.name);

 如果 user 不为 null,则会打印 user.name 的值,否则不会引发异常,而是返回 null。

2.调用对象方法:

// 在空安全前 if (userManager != null) { userManager.getUser()?.refresh(); } // 空安全后 userManager?.getUser()?.refresh(); 

如果 userManager 不为 null 且 getUser() 返回的对象不为 null,则调用 refresh() 方法。如果其中任何一个为 null,则整个表达式的结果为 null。

3.使用链式操作:

// 在空安全前 if (user != null && user.address != null && user.address.city != null) { print(user.address.city); } // 空安全后 print(user?.address?.city);

如果 user、user.address 和 user.address.city 中任何一个为 null,则整个表达式的结果为 null。

4.配合赋值操作:  

// 在空安全前 if (user != null) { user.name = 'John Doe'; } // 空安全后 user?.name = 'John Doe';

如果 user 不为 null,则为 user.name 赋值;否则什么也不做。  

const 构造函数 🏗️

在 Dart 中,`const` 构造函数用于创建编译时常量。使用 `const` 关键字构造函数时,构造函数及其使用的所有成员都必须是可编译时常量。这对于某些数据类型和对象是有限制的,因为不是所有的构造函数都可以用于创建编译时常量。

class MyObject { final int value; // 这是一个 const 构造函数 const MyObject(this.value); } void main() { // 正确:在 const 上下文中使用 const 构造函数 const myInstance = MyObject(42); } 

这是一个简单的 Dart 入门指南,涵盖了语言的基础概念。希望这能够帮助初学者开始你们的 Dart 编程之旅,为进一步探索 Flutter 开发奠定基础。要深入了解 Dart 和 Flutter,请查阅官方文档和教程,并勇敢地开始你的移动应用开发之旅!

后续我也将会持续更新有关Flutter的学习笔记,如果这篇文章对你有帮助的话,请多多点赞、转发、收藏吧~

到此这篇入门 Dart 编程:为 Flutter 开发应用打下基础_flutter main.dart的文章就介绍到这了,更多相关入门 Dart 编程:为 Flutter 开发应用打下基础_flutter main.dart内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • twisted异步处理框架_dart down2024-10-30 13:45:38
  • dart ui_dart中文翻译2024-10-30 13:45:38
  • dart 菜鸟教程_爱斯坦图形化编程软件2024-10-30 13:45:38
  • dart dynamic_什么是异步编程2024-10-30 13:45:38
  • 手把手教你写日记_dart ffi2024-10-30 13:45:38
  • dart编程语言pdf_有一只猫的编程软件叫什么2024-10-30 13:45:38
  • Dart编程语言之数据类型_dart 数据类型2024-10-30 13:45:38
  • dart 调用python_python软件怎么用2024-10-30 13:45:38
  • Dart编程实例_fortran编程语言2024-10-30 13:45:38
  • Dart编程语言与Flutter框架全解析_dart语言入门2024-10-30 13:45:38
  • 全屏图片