【鸿蒙学习笔记】数据类型

官方文档:ArkTS语言介绍

目录标题

  • 声明变量
  • 声明常量
  • 数据类型 缺:byte char
    • Number类型 short int long float double
    • Boolean类型 boolean
    • String类型
    • Void类型
    • Object类型
    • Array类型
    • Enum类型
    • Union类型
    • Aliases类型

[代码总结]

声明变量

let hi: string = 'hello';
let hi2 = 'hello, world';    // 自动类型推断

声明常量

const hello: string = 'hello';

数据类型 缺:byte char

Number类型 short int long float double

let n1 = 3.14;
let n2 = 3.141592;
let n3 = .5;
let n4 = 1e10;function factorial(n: number): number {if (n <= 1) {return 1;}return n * factorial(n - 1);
}

Boolean类型 boolean

let isDone: boolean = false;

String类型

let s1 = 'Hello, world!\n';       // 由单引号(')括起来
let s2 = "this is a string";      // 由双引号(")括起来
let s3 = `The result is ${a}`;    // 反向单引号(`)括起来的模板字面量

Void类型

void类型用于指定函数没有返回值。

Object类型

Object类型是所有引用类型的基类型。

Array类型

let names: string[] = ['Alice', 'Bob', 'Carol'];

Enum类型

enum ColorSet { Red, Green, Blue }
let c: ColorSet = ColorSet.Red;enum ColorSet { White = 0xFF, Grey = 0x7F, Black = 0x00 }
let c: ColorSet = ColorSet.Black;

Union类型

type Animal = Cat | Dog | Frog | numberlet animal: Animal = new Cat();
animal = new Frog();
animal = 42;let animal: Animal = new Frog();
if (animal instanceof Frog) {let frog: Frog = animal as Frog;animal.leap(); // 结果:青蛙跳frog.leap();   // 结果:青蛙跳
}
animal.sleep (); // 任何动物都可以睡觉

Aliases类型

Aliases类型为匿名类型(数组、函数、对象字面量或联合类型)提供名称,或为已有类型提供替代名称

type Matrix = number[][];
type Handler = (s: string, no: number) => string;
type Predicate <T> = (x: T) => Boolean;
type NullableObject = Object | null;

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

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

相关文章

【逆运动学】六轴机器人运动学逆解上位机控制

六轴机器人逆运动学上位机控制 最终效果 通过开发的上位机软件&#xff0c;实现对机械臂末端的精准操控。该软件接收输入的坐标与角度参数&#xff0c;经过算法处理计算出机械臂各关节轴的目标角度。随后&#xff0c;这些角度值被转换为对应的脉冲宽度调制&#xff08;PWM&am…

编码遵循五大设计原则创建出更加健壮、可维护和可扩展的软件系统

一、单一职责原则&#xff08;SRP&#xff09; * 定义&#xff1a;一个类应该只有一个引起它变化的原因。 * 解释&#xff1a;意味着一个类应该专注于做一件事情&#xff0c;当需求发生变化时&#xff0c;只影响到一个类。这有助于降低类间的耦合&#xff0c;使得代码更易于理…

MinGW和Cygwin的区别

介绍 MinGW和Cygwin都是windows平台下用于编译c/c代码&#xff0c; Cygwin 目的为windows平台提供类Unix环境&#xff0c;让运行在类Unix环境中的程序代码可以在windows下编译成功。cygwin提供了抽象层dll&#xff0c; 可用于将部分POSIX转换为Windows API调用&#xff0c;目…

telegram mini APP或游戏开发之bot设置

无意中发现telegram上居然也能发布小程序和游戏了,感觉发现了新大陆一样,自己好玩试了下。 参考教程 要在telegram上开发一个mini App或者game,创建一个专属于你的机器人就必不可少了。 创建bot机器人 在telegram上搜索@BotFather或者点击该这里BotFather。 如下图: 进…

一款轻量级的WPF UI库---Adonis UI

Adonis UI适用于 WPF 应用程序的轻型 UI 工具包,提供经典但增强的 Windows 视觉对象 组件内容 几乎所有 WPF 控件的模板的默认样式为方便起见,可根据需要使用两种配色方案(浅色和深色),也可用于自定义样式支持在运行时更改配色方案支持其他自定义配色方案提供水印等功能的…

查看VUE中安装包依赖的版本号

查看VUE中安装包依赖的版本号 全部依赖包版本查看某个依赖的例&#xff1a;查看stompjs 应用命令npm ls stompjs 全部依赖包版本 使用npm命令 使用 npm ls 命令可以列出项目中所有已安装的依赖包及其版本。 使用 npm list --depth1 命令可以列出项目中直接依赖的包及其版本&a…

Android中使用startActivityForResult启动活动

Android中使用startActivityForResult启动活动 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;在本文中&#xff0c;我们将深入探讨Android开发中使用startActi…

线程版服务器实现(pthread_server)

用到的所有方法所需要的参数可以在wrap.c文件中查询&#xff0c;wrap中找不到的直接通过man手册查询 1.首先介绍一下我自己写的包裹文件&#xff0c;里面有各种在可能要用到的方法 wrap.c: #include <stdlib.h> #include <stdio.h> #include <unistd.h> #…

第4章 客户端-客户端案例分析

1 Redis内存陡增 1.1.现象 服务端现象&#xff1a;Redis主节点内存陡增&#xff0c;几乎用满maxmemory&#xff0c;而从节点内存并没有变化&#xff08;正常情况下主从节点内存使用量基本相同&#xff09;。 客户端现象&#xff1a;客户端产生了OOM异常&#xff0c;也就是Redis…

深入理解Spring Boot的启动过程

深入理解Spring Boot的启动过程 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;让我们一起深入探讨Spring Boot的启动过程。Spring Boot作为一…

函数(python)

文章目录 1.定义一个函数2. 函数调用3.函数传参3.1 形参与实参一一对应3.2可变参数3.3 关键字参数 函数是组织好的&#xff0c;可重复使用的&#xff0c;用来实现单一&#xff0c;或相关联功能的代码段。 函数能提高应用的模块性&#xff0c;和代码的重复利用率。你已经知道Pyt…

MySql生成记录编号 RecNo

在使用Mysql 时&#xff0c;时常需要生成记录编号&#xff0c;此方法适用于Mysql8.0及以上版本 UPDATE 当前表名 JOIN (SELECT id, ROW_NUMBER() OVER (ORDER BY id) AS new_recNOFROM 当前表名 ) t ON 当前表名.id t.id SET 当前表名.recNO t.new_recNO; sqlite 请参考 S…

【HarmonyOS第一课】保存应用数据考核答案

判断题 1.用户首选项为应用提供Key-Value键值型的数据处理能力&#xff0c;支持应用持久化轻量级数据&#xff0c;它是一种关系型数据库。 正确(True) 错误(False) 2.用户首选项Key是可以重复的关键字。 正确(True) 错误(False) 3.分布式键值数据库的设备协同数据库Key允…

小白快速入门canvas画海报

小编以微信小程序原生语言举例 wxml页面&#xff1a; <canvas type"2d" id"myCanvas" style"width:375px;height:667px;"></canvas> js页面&#xff1a; import drawQrcode from ../../../utils/qrcode/weapp.qrcode.esmdata: {…

中小企业数字化转型如何选择适合自己的MES系统?

随着信息技术的飞速发展&#xff0c;数字化转型已成为中小企业提升竞争力、实现可持续发展的关键途径。在数字化转型过程中&#xff0c;制造执行系统&#xff08;MES&#xff09;作为连接企业资源计划&#xff08;ERP&#xff09;与车间现场管理的桥梁&#xff0c;扮演着至关重…

Docker Compose 入门

想象一下在服务器上运行静态页面的场景。对于这项任务&#xff0c;NGINX 服务器是一个不错的选择。我们在 static-site/index.html 路径下有一个简单的 HTML 文件&#xff1a; 通过使用 Docker&#xff0c;我们将使用以下官方镜像运行 NGINX 服务器 docker run --rm -p 8080:…

企业内部文档共享的应用推荐

有许多开源的企业内部文档共享和知识库管理应用可供选择&#xff0c;它们各自具有不同的特性和功能。以下是一些流行的选项&#xff1a; Confluence: Atlassian的Confluence是一个强大的企业级文档共享和协作平台。它支持丰富的编辑功能&#xff0c;集成了许多其他Atlassian产…

给Windows右键菜单添加自己的脚本功能

要实现这个功能&#xff0c;你可以使用 Windows PowerShell 编写一个脚本&#xff0c;并将其集成到右键菜单中。以下是具体步骤&#xff1a; 1. 编写 PowerShell 脚本 首先&#xff0c;创建一个 PowerShell 脚本&#xff0c;用于批量重命名选中的图片。 打开一个文本编辑器&…

Stop Motion Studio Pro for Mac:Mac上的动画大师,让你的创意无限流动!

Stop Motion Studio Pro for Mac为创作者们提供了一个直观且易于使用的平台&#xff0c;让他们能够将静态的物体和场景转化为生动有趣的定格动画。&#x1f3a5; 无论是制作简单的玩具动画&#xff0c;还是复杂的电影级场景&#xff0c;这款软件都能轻松应对&#xff0c;让你的…

mfc140.dll怎么安装?mfc140.dll丢失安装详细解决方法

当电脑出现找不到mfc140.dll丢失问题&#xff0c;我们需要怎么办&#xff1f;怎么解决mfc140.dll丢失问题&#xff1f;mfc140.dll到底是什么&#xff1f;下面我给大家详细介绍与分析&#xff0c;最重要的是mfc140.dll的解决方法&#xff01; 一、文件丢失原因分析 在分析mfc14…