在鸿蒙 Next 5.0 中,数据基础类型主要包括以下几种常见的类型,这些类型是开发中经常用到的基本数据结构:
1. 基本数据类型
-
布尔类型(Boolean) :
TypeScript复制
let isDone: boolean = false; -
数字类型(Number) :
TypeScript复制
let decLiteral: number = 6; let hexLiteral: number = 0xf00d; let binaryLiteral: number = 0b1010; let octalLiteral: number = 0o744; -
字符串类型(String) :
TypeScript复制
let name: string = "bob"; name = "smith"; let sentence: string = `Hello, my name is ${name}. I'll be ${age + 1} years old next month.`; -
数组类型(Array) :
TypeScript复制
let list: number[] = [1, 2, 3]; let list: Array<number> = [1, 2, 3]; -
元组(Tuple) :
TypeScript复制
let x: [string, number]; x = ['hello', 10]; -
枚举(Enum) :
TypeScript复制
enum Color {Red, Green, Blue} let c: Color = Color.Green;
2. 对象(Object)
在 ArkTS 中,对象是一个通用类型,可以表示普通对象、数组、元组、集合等:
TypeScript复制
let obj = { "name": "AbnerMing" };
let test: Test = new Test();
let numberArray = [1, 2, 3, 4, 5];
let numberArrayObj = new Array<number>();
let tuple: [string, number] = ["age", 10];
let list = new ArrayList<number>();
let map = new HashMap<string, number>();
3. 标准化数据类型(UTD)
鸿蒙 Next 还提供了一套标准化数据类型(Uniform Type Descriptor,UTD),用于跨应用、跨设备的数据交互。常见的标准化数据类型包括:
-
纯文本(Text) :
TypeScript复制
import { UnifiedData, UnifiedRecord } from '@ohos.arkui'; let textData = new UnifiedData(); let textRecord = new UnifiedRecord({ type: 'text', value: { text: '这是一个纯文本示例。' } }); textData.addRecord(textRecord); -
超链接(Hyperlink) :
TypeScript复制
let hyperlinkData = new UnifiedData(); let hyperlinkRecord = new UnifiedRecord({ type: 'hyperlink', value: { uri: 'https://www.example.com', title: '访问示例网站' } }); hyperlinkData.addRecord(hyperlinkRecord); -
HTML:
TypeScript复制
let htmlData = new UnifiedData(); let htmlRecord = new UnifiedRecord({ type: 'html', value: { html: '<h1>这是一个HTML标题</h1><p>这是一个段落。</p>', baseUri: 'https://www.example.com' } }); htmlData.addRecord(htmlRecord);
4. 自定义数据类型
如果标准化数据类型无法满足特定需求,可以自定义数据类型。例如:
-
定义自定义类型ID:
TypeScript复制
const CUSTOM_VIDEO_TYPE_ID = 'com.example.customvideo'; -
定义文件后缀和 MIME Type:
TypeScript复制
const CUSTOM_VIDEO_FILE_EXTENSION = '.myvid'; const CUSTOM_VIDEO_MIME_TYPE = 'application/vnd.example.myvid'; -
实现自定义类型处理逻辑:
TypeScript复制
class CustomVideo { constructor(filePath: string) { this.filePath = filePath; this.contentType = CUSTOM_VIDEO_MIME_TYPE; } processVideo() { // 实现视频处理逻辑 } }
通过这些基础数据类型和标准化数据类型,开发者可以在鸿蒙 Next 5.0 中灵活地构建应用,实现丰富多样的用户交互。