HarmonyOS NEXT星河版笔记--ArkTS篇(1)

news2024/12/23 14:35:30

一、概念

ArkTS:是一门用于开发鸿蒙应用的编程语言

console.log('我说','HelloWorld')

二、认识数据

2.1.基础数据类型

string字符串描述信息
number数字计算
boolean布尔判断(真、假)

2.2.存储数据

存储数据包括变量常量

2.2.1.变量:专门用来存储数据的容器(可变)。

let title: string

title为容器的名字;string为数据类型

存储数据:

let 变量名:类型 = 值

修改数据:

let title:string = 'student'
title = 'worker'

注意:

  • 字符要用引号引起来(单双引号都可以)
  • 存储时后面存的内容要和前面类型一致

//字符串  string 类型
let title:string = 'student'
console.log('字符串string',string)

//数字 number 类型

let age:number = 18
console.log('年纪age',age)

//布尔 boolean 类型(true真,false假)
let isLogin:boolean = true
console.log('是否登录成功',isLogin)

//变量修改
age = 40
console.log('年纪age',age)

运行效果:

2.2.2.常量:用来存储数据(不可变)

//const 常量名: 类型 = 值
const PT: number = 3.1415926

常量不能随意变化

const companyName: string = 'hello'
console.log('公司名',companyName)
companyName = 'hi'//报错

2.2.3.命名规则

  1. 只能包含数字、字母、下划线、$,不能以数字开头
  2. 不能使用内置关键字
  3. 区分大小写

三、数组

数组:是一个容器,可以存储多个数据

let 数组名:类型[] = [数据1,数据2,....]

举例


let names:string[] = ['小红','小君','晓桐','小元']
console.log('数组names',names)
console.log('取到了',names[3])//取到了 小元

四、函数

函数:可以被重复使用的代码块

4.1.定义函数

function 函数名(){
      函数体
}

4.2.调用函数

函数名()

注意:先定义后使用

//函数

function star(){
  console.log('五角星','★')
  console.log('五角星','★★')
  console.log('五角星','★★★')
  console.log('五角星','★★★★')
  console.log('五角星','★★★★★')
}
star()

运行效果

4.3.完整用法

根据传入不同的数据,进行处理,返回处理后的结果。

function· 函数名 (需要处理的数据){//形参
     编写代码对数据进行处理
     return处理后的结果
     
}
let 变量名:类型 = 函数名(实际要处理的数据)//实参
function· 函数名 (形参1:类型,形参2:类型...){//形参
     编写代码对数据进行处理
     return处理后的结果//返回到调用的位置
     
}
let 变量名:类型 = 函数名(实参1,实参2,...)//实参

举例:

//需求:传入价格和数量,返回计算结果
//1.苹果 2元/斤,买了三斤多少钱?
function buy(price:number,num:number){
  //1.处理数据
 let result = price * num
  //2.返回结果
  return result
}
let apple:number = buy(2,3)
console.log('苹果',apple)

运行效果

4.4.箭头函数

比普通函数更加简洁的一种函数写法

let 函数名 = () => {
        //函数
}
函数名()

案例:

let buy = (price:number,num:number) => {
  let re = price*num
  return re
}
let result = buy(2,3)
console.log('苹果',result)

运行效果

五、接口&对象

5.1.对象

作用:用于描述一个物体的特征和行为

对象:是一个可以存储多个数据的容器(不要求数据为同一类型,所以与数组不同)

格式:

let 对象名称:对象结构类型 = 值
  1. 通过interface接口约定对象结构类型
  2. 定义对象并使用(通过,访问)
interface 接口名{
 属性1:类型1
 属性2:类型2
 属性3:类型3 
 }

interface Person{
     name:string
     age:number
     weight:number
}
let person:Person = {

name = Alika-snowr,
age = 18,
weight = 90

}

注意:接口处有逗号

案例

//需求:定义一个对象
//姓名:阿里卡 年纪:18  体重:90

//1.定义接口

interface Person{
  name:string
  age:number
  weight:number
}

//2.基于接口,定义对象
let al:Person = {
  name:'阿里卡',
  age:18,
  weight:90
}

//3.获取对象属性值,对象名.属性名

console.log('年纪',al.age)
console.log('姓名',al.name)

运行效果:

5.2.对象--方法

方法作用:描述对象的具体行为

  1. 约定方法类型
  2. 添加方法(箭头函数)
interface 接口名称{
方法名:(参数:类型) = >返回值类型
}

interface Person{
dance:() => void
sing:(song:string) => void
}
let al:Person = {
dance:() => {
console.log('阿里卡说','我来跳个舞')
},
sing:(song:string) = > {
console.log('阿里卡说','我来唱首',song)
}
}
al.dance()
al.sing('生日快乐歌')

完整形式

//需求:定义一个对象
//姓名:阿里卡 年纪:18  体重:90
//行为:唱歌 跳舞

//1.定义接口

interface Person{
  name:string
  age:number
  weight:number
  //定义方法的类型
  sing:(song:string) =>void
  dance:() => void
}

//2.基于接口,定义对象
let al:Person = {
  name:'阿里卡',
  age:18,
  weight:90,
  //定义方法
  sing:(song:string) => {
    console.log('阿里卡说','我来唱',song)

  },

  dance:() =>{
    console.log('阿里卡说','我来跳个舞')
  }
}

//3.获取对象属性值,对象名.属性名

console.log('年纪',al.age)
console.log('姓名',al.name)
//调用对象里面的方法(重要!!)
al.sing('生日快乐歌')

运行效果

5.3.联合类型

是一种灵活的数据类型,它修饰的变量可以存储不同类型的数据。

//let 变量:类型1|类型2|类型3 = 值
let judge :number | string = 100
judge = 'A'

        1.举例

let judge: number | string = 100
judge = 'A'
console.log('年终考试评价',judge)

        效果

        2.举例

联合类型还可以把变量值限定在一组范围内供用户选择。

let gender:'man' | 'woman'|'secret' = 'woman'

六、枚举

枚举类型是一种特殊的数据类型,约定变量只能在一组数据范围内选择值

  1. 定义枚举类型(常量列表)
  2. 使用枚举类型,约束变量
enum 枚举名{
常量1 = 值,
常量2 = 值,
......
}
enum ThemeColor{
Red = '#ff0f29',
Orange = '#ff7100',
Green = '#30b30e'
}
let color:ThemeColor = ThemeColor.Red
console.log('主题颜色',color)

举例

//1.定义枚举(定义常量列表)
enum  ThemeColor{
  Red = '#ff0f29',
  Orange = '#ff7100',
  Green = '#30b30e'
}

//2.给变量设定枚举类型
let color:ThemeColor = ThemeColor.Red//只能去上面取值
console.log('color',color)

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

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

相关文章

【数据结构】ArrayList的模拟实现--Java

目录 一、🍩简单了解ArrayList 二、🍩ArrayList的简单模拟实现 1.🍔IList接口 1.🍕IList接口 2. 🍕 MyArrayList 重写接口方法 2.🍔ArrayList方法 1.🥪增 1.add(添加元素&…

数据结构+算法

一、数据结构 1、线性结构 数组: 访问:O(1)访问特定位置的元素;插入:O(n)最坏的情况发生在插入发生在数组的首部并需要移动所有元素时;删除:O(n)最坏的情况发生在删除数组的开头发生并需要移动第一元素后…

go 聊天系统项目-1

1、登录界面 说明:这一节的内容采用 go mod 管理【GO111MODULE‘’】的模块,从第二节开始使用【GO111MODULE‘off’】GOPATH 管理模块。具体参见 go 包相关知识 1.1登录界面代码目录结构 代码所在目录/Users/zld/Go-project/day8/chatroom/ 1.2登录…

Steam deck 倒腾日记 - 安装Windows软件,玩上黑神话悟空

Steam deck 倒腾日记 关于Steam Deck基本信息性能特点游戏兼容性 问题一: 软键盘输入问题二: 系统切换问题三: 安装运行Window 软件关于Proton如何运行 问题四: 优化网络问题黑神话.悟空PS参考 关于Steam Deck Steam Deck是一款由Valve开发的便携式游戏PC,它搭载了A…

【内网渗透】最保姆级的2022网鼎杯半决赛复盘打靶笔记

目录 flag1 flag2 flag3 flag4 flag1 fscan什么也没扫到 访问是个web dirsearch开扫 访问./wp-admin 弱口令admin:123456登录 编辑主题文件 在header.php中插入一句话木马 header.php位置:https://tw.godaddy.com/help/change-the-header-in-wordpress-264…

Python 实现斐波那契数列的方法

以下是使用 Python 实现斐波那契数列的方法&#xff1a; def fibonacci(n): if n < 1: return n else: return fibonacci(n - 1) fibonacci(n - 2) # 打印前 10 个斐波那契数 for i in range(10): print(fibonacci(i)) 在这个代码中&#xff0c;定义了一个函数 fibonacc…

IntelliJ IDEA 中上传项目到 Gitee 的完整指南

博主主页:【南鸢1.0】 本文专栏&#xff1a;git 目录 简介 1.插入intellij-gitee 2.导入下载插件 3.选择导航栏中的VCS->Share Project on Gitee 4.登录gitee 6.验证gitee仓库是否创建成功 7.上传分享项目 8.验证仓库代码是否上传成功 总结 简介 Gitee 是一个代码…

【p2p、分布式,区块链笔记 分布式容错算法】: 拜占庭将军问题+实用拜占庭容错算法PBFT

papercodehttps://pmg.csail.mit.edu/papers/osdi99.pdfhttps://github.com/luckydonald/pbft 其他相关实现&#xff1a;This is an implementation of the Pracltical Byzantine Fault Tolerance protocol using PythonAn implementation of the PBFT consensus algorithm us…

简单的kafkaredis学习之redis

简单的kafka&redis学习之redis 2. Redis 2.1 什么是Redis Redis是一种面向 “Key-Value” 数据类型的内存数据库&#xff0c;可以满足我们对海量数据的快速读写需求&#xff0c;Redis是一个 NoSQL 数据库&#xff0c;NoSQL的全称是not only sql&#xff0c;不仅仅是SQL&…

无人机之卫星通信技术篇

无人机的卫星通信技术是一种利用人造地球卫星作为中继站来转发无线电波&#xff0c;从而实现无人机与地面控制站之间通信的技术。 一、技术概述 卫星通信系统主要由通信卫星和经该卫星连通的地球站两部分组成。在无人机应用中&#xff0c;卫星通信技术能够确保无人机在全球范围…

网鼎杯 misc -好久不见4

不嘻嘻&#xff0c;没见过这种题&#xff0c;需要把这个红线还原重组成二维码&#xff0c;搜索一个是这个Peano曲线 from PIL import Image from tqdm import tqdmdef peano(n):if n 0:return [[0, 0]]else:in_lst peano(n - 1)lst in_lst.copy()px, py lst[-1]lst.extend(…

ARM base instruction -- adcs

Add with Carry, setting flags, adds two register values and the Carry flag value, and writes the result to the destination register. It updates the condition flags based on the result. 带进位加法&#xff0c;设置标志&#xff0c;将两个寄存器值和进位标志值相…

笔记本双系统win10+Ubuntu 20.04 无法调节亮度亲测解决

sudo add-apt-repository ppa:apandada1/brightness-controller sudo apt-get update sudo apt-get install brightness-controller-simple 安装好后找到一个太阳的图标&#xff0c;就是这个软件&#xff0c;打开后调整brightness&#xff0c;就可以调整亮度&#xff0c;可…

vue版本太低无法执行vue ui命令

连接 ui和create目前都只支持3.0以后得版本才能使用 https://blog.csdn.net/m0_67318913/article/details/136775252?utm_mediumdistribute.pc_relevant.none-task-blog-2defaultbaidujs_baidulandingword~default-0-136775252-blog-121204604.235v43pc_blog_bottom_relevance…

萤石私有化设备视频平台EasyCVR视频融合平台如何构建农业综合监控监管系统?

现代农业的迅速发展中&#xff0c;集成监控管理系统已成为提高农业生产效率和优化管理的关键工具。萤石私有化设备视频平台EasyCVR&#xff0c;作为一个具有高度可扩展性、灵活的视频处理能力和便捷的部署方式的视频监控解决方案&#xff0c;为农业监控系统的建设提供了坚实的技…

Pr 视频效果:闪光灯

视频效果/风格化/闪光灯 Stylize/Strobe Light 闪光灯 Strobe Light效果可用于在视频中创建闪烁或频闪的效果&#xff0c;类似于舞台上的频闪灯或摄影中的闪光灯。 ◆ ◆ ◆ 效果选项说明 通过调整各种参数&#xff0c;可以自定义闪光的颜色、频率、持续时间和混合模式&#…

FreeRTOS确定任务栈大小

一、FreeRTOS内存分配 所有任务共用一个堆空间&#xff0c;所以当调用xPortGetFreeHeapSize这个函数时&#xff0c;返回的就是现在所有可用堆空间的消息 所有任务都有自己的栈空间&#xff0c;比如在任务中定义一个uint32_t data[100]的数组&#xff0c;此时调用uxTaskGetSt…

计算机毕业设计Hadoop+Spark+Hive抖音情感分析 抖音可视化 抖音舆情监测 预测算法 抖音爬虫 抖音大数据 情感分析 NLP 自然语言处理

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; HadoopSparkHive抖音情感分…

tcp shutdown, fin_wait1, fin_wait2, close_wait, last_ack, 谢特!

TCP 作为双向传输协议&#xff0c;如果你想只收不发&#xff0c;可以单向关掉发&#xff0c;shutdown(socket.SHUT_WR)&#xff0c;但不建议这么做。 看以下代码&#xff1a; #!/Users/zhaoya/myenv/bin/python3 # client import socketclient_socket socket.socket(socket.…

redis安装使用

1. 下载地址 :::color1 下载最新稳定版本的 redis-windows 7.x 版本(本实例以 7.2.3 为例) ::: # 下载地址 https://download.csdn.net/download/qq827245563/899238402. 解压文件 ![](https://img-blog.csdnimg.cn/img_convert/c094d561f7f8ed6e9d139d07be1271cb.png) 3. …