TypeScript学习笔记、鸿蒙开发学习笔记

 变量定义方式

# 变量声明
let msg: string = 'douzi'
console.log(msg)
let num: number = 20
console.log(num)
let end: boolean = true
console.log("end=" + end)
let a: any = 10
a = 'douzi'
console.log(a)
let p = {name:"douzi",age:20}
console.log(p.name)
console.log("age=" + p['age'])
let names: Array<string> = ["douzi","douzi1"]
console.log(names[0])
let ages: number[] = [20,21]
console.log("age1=" + ages[1])

 条件定义方式

# 条件语法
if(num % 2 == 0) {
    console.log("num 是偶数")
}else {
    console.log("num 是奇数")
}

if (num > 0) {
    console.log("num 是正数")
}else if(num < 0){
    console.log("num 是负数")
} else {
    console.log("num 是0")
}

# switch 
switch(msg) {
    case 'douzi': {
        console.log("douzi")
        break
    }
    case 'douzi1': {
        console.log("douzi1")
        break
    }
    default: {
        console.log('douzi2')
        break
    }
}

 循环定义方式

# 循环语法
for(let i = 0; i < 10; i++) {
    console.log("for i=" + i)
}

let i = 0;
while(i < 10) {
    console.log('while i=' + i ++)
}

let names: Array<string> = ["douzi","yuehua"]
// for in 迭代器,获取数组角标  const = let
for (const i in names) {
    console.log(i + "=" + names[i])
}
// for of 迭代器,获取数组元素
for (const name of names) {
    console.log("of name = " + name)
}

 函数定义方式

# 无返回值函数  :void 可以省略
function helloWorld(name:String, age:number): void {
    console.log("name=" + name + ",age=" + age + ",Hello World!")
}

# 无返回值函数简写方式
let helloWorld = (name:String, age:number) => {
    console.log("name=" + name + ",age=" + age + ",Hello World!")
}

helloWorld('douzi', 40)

# 有返回值函数
function sum(x: number, y: number): number {
    return x + y
}

# 有返回值函数简写方式
let sum = (x: number, y: number): number => {
    return x + y
}
let result = sum(10, 20)
console.log("10 + 20 = " + result)


# 可选参数,?代表参数 可传 可不传
let sayHello = (name ?:String) => {
    name = name ? name : 'yuehua'
    console.log("Hello " + name)
}
sayHello()
sayHello('douzi')


# 入参默认值 当不传参数时,使用默认值
let sayHello = (name :String = 'yuehua') => {
    console.log("Hello " + name)
}
sayHello()
sayHello('douzi')

类和接口的定义

# 接口继承
enum Msg {
    HI = 'Hi',
    HELLO = 'Hello'
}

interface A {
    say(msg: Msg): void
}

class B implements A {
  say(msg: Msg) {
    console.log(msg + ", I am B")
  }
}

let a:A = new B()
a.say(Msg.HELLO)

# 类继承
class Rectangle {
    private width: number
    private height: number
    constructor(width: number,height: number) {
        this.height = height;
        this.width = width
    }    
    public area(): number {
        return this.width * this.height
    }
}
class Square extends Rectangle {
    constructor(side: number) {
        super(side, side)
    }
}

let s:Square = new Square(5)
console.log('正方形边为5的area=' + s.area())

ets文件中的重要 关键字

struct Index   自定义组件:可复用的UI单元

@Component    自定义组件

@Entry              当前组件是入口组件

@State              标记变量为状态变量,值变化会触发UI刷新

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

神经网络|张量tensor(待完善)

文章目录 tensor/张量什么是tensor&#xff1f;如何用代码实现tensortensor在神经网络中的应用 其他 tensor/张量 什么是tensor&#xff1f; 张量是用来探究一个点在各个切面&#xff08;一共三个切面&#xff09;和各个方向&#xff08;x&#xff0c;y&#xff0c;z三个方向&…

AI语音机器人的发展

第一代AI语音机器人具体投入研发的开始时间不太清楚&#xff0c;只记得2017年的下半年就已经开始接触到成型的AI语音机器人&#xff0c;并且正式商用。语音识别效果还不多&#xff0c;大多都是接入的科大讯飞或者百度的ASR。 2018年算是AI语音机器人的“青春期”吧&#xff0c;…

LVS 负载均衡群集

本章展示&#xff1a; 了解群集的结构与工作模式 了解 LVS 负载均衡群集原理 学会配置 NFS 共享服务 学会构建 LVS-NAT 负载均衡群集 1.1 LVS 群集应用基础 群集的称呼来自于英文单词“Cluster”&#xff0c;表示一群、一串的意思&#xff0c;用在服务器领域则表 示大量服务…

Docker五部曲之二:Docker引擎

文章目录 前言Docker引擎镜像管理容器管理容器运行前台运行和后台运行容器识别重启策略清除 容器日志 数据管理卷挂载创建和管理卷启动带有卷的容器通过Docker Compose使用卷使用只读卷备份、恢复和迁移卷 绑定挂载用绑定挂载启动一个容器Docker Compose使用绑定挂载使用只读绑…

数据仓库研发规范

数据仓库研发规范 本文将介绍数据仓库研发规范的阶段规划、角色职责和整体流程。 在大数据时代&#xff0c;规范地进行数据资产管理已成为推动互联网、大数据、人工智能和实体经济深度融合的必要条件。贴近业务属性、兼顾研发各阶段要点的研发规范&#xff0c;可以切实提高研…

DCP文件传输的重要性与应用

在数字时代&#xff0c;文件传输已成为商业运作中不可或缺的一环。随着企业越来越多地采用云基础设施和服务&#xff0c;有效地在云和团队之间传输大文件和数据集变得至关重要。在这一背景下&#xff0c;数据复制协议&#xff08;DCP&#xff09;文件传输应运而生&#xff0c;引…

学习Vue封装的过渡与动画总结

今天学习了Vue封装的过渡与动画&#xff0c;接下来说一下Vue是如何实现的&#xff0c;首先原生的方法是在style元素中给指定元素添加过渡的过渡或动画&#xff0c;但Vue就不需要直接获取到需要过渡或动画的元素&#xff0c;而是使用一个<transition>的标签来包裹住想要过…

K8s:Pod生命周期

我们一般将pod对象从创建至终的这段时间范围称为pod的生命周期&#xff0c;它主要包含下面的过程&#xff1a; pod创建过程 运行初始化容器&#xff08;init container&#xff09;过程 运行主容器&#xff08;main container&#xff09; 容器启动后钩子&#xff08;post st…

Netty开发弹幕系统

用Nettywebsocket实现简单的web弹幕系统 服务端代码 1. pom依赖 <!-- Netty --><dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.66.Final</version></dependency><!-- N…

基于opencv的指针式仪表的识别与读数

对于指针式仪表的识别与读数&#xff0c;可以通过以下步骤使用OpenCV实现&#xff1a; 读取图像&#xff1a;使用cv2.imread()函数读取要处理的仪表图像。 灰度转换&#xff1a;使用cv2.cvtColor()函数将彩色图像转换为灰度图像。这是因为灰度图像只有一个通道&#xff0c;便…

Nginx负载均衡以及常用的7层协议和4层协议的介绍

一、引言 明人不说暗话&#xff0c;下面来解析一下 Nginx 的负载均衡。需要有 Linux 和 Nginx 环境哈。 二、nginx负载均衡的作用 高并发&#xff1a;负载均衡通过算法调整负载&#xff0c;尽力均匀的分配应用集群中各节点的工作量&#xff0c;以此提高应用集群的并发处理能力…

flutter在windows环境搭建

下载flutter https://flutter.cn/docs/development/tools/sdk/releases 下载相应的版本 我放在C盘下&#xff1a; 环境变量 再加系统变量&#xff1a; PUB_HOSTED_URLhttps://pub.flutter-io.cn 如图 FLUTTER_STORAGE_BASE_URLhttps://storage.flutter-io.cn 完成

[自动驾驶算法][从0开始轨迹预测]:一、坐标和坐标系变换

既然要从0开始轨迹预测&#xff0c;那从哪开始写起呢&#xff1f;回想下自己的学习历程&#xff0c;真正有挑战性的不是模型结构&#xff0c;不是繁琐的训练和调参&#xff0c;而是数据的制作&#xff01;&#xff01;&#xff01; 笔者自认为不是一个数学基础牢固的人&#xf…

Photoshop 2024 (PS2024) v25 直装版 支持win/mac版

Photoshop 2024 提供了多种创意工具&#xff0c;如画笔、铅笔、涂鸦和渐变等&#xff0c;用户可以通过这些工具来创建独特和令人印象深刻的设计效果。增强的云同步&#xff1a;通过 Adobe Creative Cloud&#xff0c;用户可以方便地将他们的工作从一个设备无缝同步到另一个设备…

Docker之数据卷的使用

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是君易--鑨&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《Docker之数据卷的使用》。&#x1f3af;&#x…

《GreenPlum系列》GreenPlum初级教程-03GreenPlum系统管理

文章目录 第三章 GreenPlum系统管理1.关于GreenPlum数据库发布版本号2.启动和停止GreenPlum数据库2.1 启动数据库2.2 重启数据库2.3 仅重新载入配置文件更改2.4 停止GreenPlum数据库2.5 停止客户端进程 3.GreenPlum数据库状态查询4.访问GreenPlum数据库4.1 数据库会话参数4.2 支…

基于STM32和ESP8266的物联网应用开发与实现

基于STM32和ESP8266的物联网应用开发与实现可以实现智能家居、智能工业、环境监测等多种应用&#xff0c;它将结合STM32微控制器的实时控制能力和ESP8266无线通信模块的WiFi连接能力。在本文中&#xff0c;我们将介绍如何设计和实现这样的物联网应用&#xff0c;并提供相关的代…

使用 Github、Hugo 搭建个人博客

Hugo 静态网站构建手册&#xff1a;https://jimmysong.io/hugo-handbook/ 关键字&#xff1a;开源 博客 框架 1、GitHub Pages 官网&#xff1a;https://pages.github.com/ 文档&#xff1a;https://docs.github.com/zh Github Pages 简介 Websites for you and your project…

java多线程(并发)夯实之路-线程池深入浅出

线程池 Thread Pool&#xff1a;线程池&#xff0c;存放可以重复使用的线程&#xff08;消费者&#xff09; Blocking Queue&#xff1a;阻塞队列&#xff0c;存放等待执行的任务&#xff08;生产者&#xff09; poll方法&#xff08;有时限地获取任务&#xff09;相对take注…

【iOS】数据存储方式总结(持久化)

在iOS开发中&#xff0c;我们经常性地需要存储一些状态和数据&#xff0c;比如用户对于App的相关设置、需要在本地缓存的数据等等&#xff0c;本篇文章将介绍六个主要的数据存储方式 iOS中数据存储方式&#xff08;数据持久化&#xff09; 根据要存储的数据大小、存储数据以及…