首页 > 其他分享 >ArkTs入门到入土

ArkTs入门到入土

时间:2024-06-01 16:29:05浏览次数:15  
标签:ArkTs console log 函数 number 入土 let 类型 入门

一. ArkTS-语法基础

1.开发环境

DevEco Studio支持Windows系统和macOS系统,在开发应用/服务前,需要配置应用/服务的开发环境。环境配置流程:下载软件 → 安装软件并配置 → 创建工程并运行。

2.基础入门

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

编程语言:用来控制计算机工作的,可以告诉计算机我们要做的事情

编写代码 → 编译运行 → 查看效果

2.1输出语句

写法:console.log('消息说明','打印的内容')

console.log('我说','hello world')
​
注释:
1. 单行注释 // 注释内容,快捷键: Ctrl +/
2. 块注释 /* 注释内容*/,快捷键:Ctrl + Shift + /

3.认识和存储数据

3.1认识数据

编程语言的核心是处理数据

三种常见的基础数据类型:

string:字符串:描述信息 (要用引号引上)

number 数字:计算

boolean 布尔:判断(真,假)

3.2存储数据
变量

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

写法 let 变量名 :类型 = 值

// let 变量名 :类型 = 值
// string 类型
let name : string = 'syb'
console.log('我的名字',name)
// number 类型
let age : number = 22
console.log('我的年龄',age)
// boolean类型
let sex: boolean = true
console.log('你是男的吗',isLogin)
​
//变量是可以修改的
age = age+10
console.log('十年以后的名称',age)
常量

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

写法 const 常量名 : 类型 = 值

const PI : number = 3.14
console.log('π的值是',PI)
​
const companyNam = '华为'
console.log('我公司的名字是',companyNam)
命名规范
  1. 只能包含数字,字母,下划线,$,不能以数字开头

  2. 不能使用内置关键字或者保留字 (比如 let , const)

  3. 严格区分大小写

4.数组

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

let 数组名字 :类型 = [值,值,值]

let names :string[] = ['小王','小李','小狗','小宋']
​
// 注意:数组指定的类型和存储的数据类型必须要一致,否则会报错
4.1 获取数组元素
console.log('数组里面的人',names)
console.log('我想要小王',names[0])
4.2 获取数组长度
数组名字+ .length
console.log('数组长度',names.length)

5.函数

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

函数可以把具有相同或者相似逻辑的代码“包裹”起来,有利于代码复用

5.1 函数的基本使用

先定义后调用

function 函数名() { 函数体 } 函数名()

//定义函数
function star() {
  console.log('五角星', '☆')
  console.log('五角星', '☆☆')
  console.log('五角星', '☆☆☆')
  console.log('五角星', '☆☆☆☆')
  console.log('五角星', '☆☆☆☆☆')
} 
//调用函数
star()
5.2 完整写法

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

function 函数名 (需要处理的数据) {

编写代码对数据进行处理

return 处理后的结果

}

let 变量名:类型 = 函数名(实际要处理的数据)

  • 形参:真实数据(函数调用时候的传入的真实数据)

  • 形参:形式上的参数(函数定义时候写的参数)

/*
 * 需求1:简易的计算器
 * 需求2:加法
 * */
function num(num1:number,num2:number) {
    let sum = num1 + num2
    return sum
}
let result:number = num(2,3)
console.log('相加的结果为',result)
5.3 函数的可选参数

函数在定义的时候,设置了形参入口,但是在调用的时候并不是任何时候都需要传入实参数据,为了避免报错,我们可以将形参设置为可选参数, 或者给形参设置一个默认值

5.3.1. 可选参数-- ? 形式
  • 语法: 形参 -- name?: Type

    • name: 形参名称

    • ? : 表示可有可无

    • Type: 接收数据的类型

function sum(a:number,b?:number) {
    // undefined 因为 b 没有数值
 let sum1:number = a+b
  renturn sum1
}
sum(1)
5.3.2. 可选参数 -- 默认值

在一些情况下,形参的数值不能为 undefined, 否则容易引起程序的崩溃, 比如求两个数据之和, 形参的数值就不能为undefined, 否则其计算的结果不能使用到业务逻辑当中.

这时候就需要使用到默认值的形式了

  • 语法: num: number = 2

function sum(x: number, y: number = 0) {
  let res: number = x + y
  return res
}

console.log('结果是', sum(1, 2))
console.log('结果是', sum(1))
5.4 箭头函数

箭头函数是 比普通函数 更简洁 的一种函数写法

let 函数名 = (形参1: 类型, 形参2: 类型) => {
  // 函数体
  // 1. 计算过程
  // 2. 返回结果
  return 计算的结果
}
函数名(实参1, 实参2)

示例代码

// 1. 基本写法
let star = () => {
  console.log('五角星', '☆')
  console.log('五角星', '☆☆')
  console.log('五角星', '☆☆☆')
  console.log('五角星', '☆☆☆☆')
  console.log('五角星', '☆☆☆☆☆')
}
star()
star()
// 2. 参数与返回值
/*
 * 需求1:苹果 2元/斤,买3斤需要多少钱?
 * 需求2:香蕉 4元/斤,买4斤需要多少钱?
 * */

let buy = (price: number, weight: number = 1) => {
  let result: number = price * weight
  return result
}
let apple: number = buy(2)
console.log('苹果', apple)
let banana: number = buy(4, 4)
console.log('香蕉', banana)

6.对象

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

对象:是一个可以存储多个数据的容器

键值对:属性名: 属性值 (k,v)

6.1 对象-定义&使用

let 对象名称 : 对象结构类型 = 值

  1. 通过interface接口约定 对象结构类型

interface 接口名 {
  属性1: 类型1
  属性2: 类型2
  属性3: 类型3
}
interface Person {
  name: string
  age: number
  weight: number
}
  1. 定义对象并使用:对象名.属性名

// 1. 定义接口
interface Person {
  name: string
  age: number
  weight: number
}

// 2. 基于接口,定义对象
let ym: Person =  {
  name: '杨幂',
  age: 18,
  weight: 90
}

console.log('名字', ym.name)
console.log('年龄', ym.age)

let lss: Person =  {
  name: '刘诗诗',
  age: 19,
  weight: 88
}

console.log('名字', lss.name)
console.log('年龄', lss.age)
6.2. 对象-方法

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

  1. 约定方法类型

interface 接口名称 {
  方法名: (参数:类型) => 返回值类型
}

interface Person{
  dance: () => void
  sing: (song: string) => void
}
  1. 添加方法(箭头函数

let ym: Person = {
  dance: () => {
    console.log('杨幂说', '我来跳个舞')
  },
  sing: (song: string) => {
    console.log('杨幂说', '我来唱首', song)
  }
}
// 对象名.方法名(参数)
ym.dance()
ym.sing('爱的供养')

7.联合类型

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

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

judge = 'A+'
judge = '优秀'

console.log('年终考试评价', judge)
// 联合类型可以将变量值约定在一组数据范围内进行选择
let gender: 'man' | 'woman' | 'secret' = 'secret'

8.枚举类型

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

// 联合类型 不方便
'#ff0f29' | '#ff7100' | '#30b30e' 

枚举方便:定义枚举类型(常量列表)

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

// 2. 给变量设定枚举类型
let color: ThemeColor = ThemeColor.Orange
console.log('color', color)

标签:ArkTs,console,log,函数,number,入土,let,类型,入门
From: https://blog.csdn.net/2202_75509211/article/details/139314740

相关文章

  • delphi Image32 之 快速入门
     官方快速入门,加上了一些注解[从WORD粘贴后失去了样式]TImage32类是关键。TImage32 对象包含单个图像,所有图像操作都作用于此对象。usesImg32; //引用单元...img:=TImage32.Create; //创建TImage32对象//执行一些其它操作img.Free; //用完了要释放图像存储......
  • SQL入门教程
    一、数据查询语言知识点(DQL:DataQueryLanguage)1.语句书写顺序及执行顺序(1)语句书写顺序:select-distinct-from-join-on-where-groupby-having-orderby-limit(2)语句执行顺序:from-on-join-where-groupby-having-select-distinct-orderby-limit注:groupby后不能加......
  • Python教程-快速入门基础必看课程05-List索引
    摘要该视频主要讲述了Python中列表的基本操作,包括创建、添加元素、查找特定值、计算元素数量以及获取最后一个元素等。视频以清晰的例子和解释来展示这些操作,非常有助于初学者理解。此外,视频还讲述了Python中索引和切片的使用方法,这些是Python中非常重要的基础概念。掌握这些......
  • MapStruct的介绍及入门使用
    一、痛点  代码中存在很多JavaBean之间的转换,编写映射转化代码是一个繁琐重复还易出错的工作。使用BeanUtils工具时,对于字段名不一致和嵌套类型不一致时,需要手动编写。并且基于反射,对性能有一定开销。Spring提供的BeanUtils针对apache的BeanUtils做了很多优化,整体性能提升了不......
  • 下面提供一些C语言的入门示例代码
    下面提供一些C语言的入门示例代码,并附有注释,以帮助理解每个部分的功能。1.HelloWorld程序#include<stdio.h> //引入标准输入输出库intmain(){ //主函数的开始   printf("Hello,World!\n"); //打印"Hello,World!"到控制台   return0; //返回......
  • gRPC入门学习之旅(九)
    gRPC入门学习之旅目录 gRPC入门学习之旅(一)gRPC入门学习之旅(二)gRPC入门学习之旅(三)gRPC入门学习之旅(四)gRPC入门学习之旅(七) 3.10、客户端编译生成GRPC类1.在“解决方案资源管理器”中,使用鼠标左键选中项目名称“Demo.Grpc.Common”,然后单击鼠标右键,在弹出......
  • 运用JavaScript代码,使用Three.js框架在网页中实现3D效果,零基础入门Three.js,包含具体实
    不经意间看到了某个大佬做的网站~实在是太帅啦!查了查实现该效果的技术——原来是Three.js如果你也感兴趣的话,那就让我们来从零开始学习Three.js动态3D效果吧✨一、了解Three.js是基于原生WebGL封装运行的三维引擎,在所有WebGL引擎中,Three.js是国内文资料最多、使......
  • 基础入门
    域名:www.baidu.com分类:二级域名和多级域名DNS(域名系统服务协议):主要用于域名和IP地址的相互转换,根据域名查出IP地址CDN(内容分发网络):尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输得更快、更稳定常见的脚本语言(网站程序的源代码所用的语言,语言的严......
  • SQL入门全攻略(一)
    一、引言在当今的数据驱动世界中,SQL(结构化查询语言)无疑是数据处理和分析的基石。无论你是数据科学家、数据库管理员还是业务分析师,掌握SQL都是必不可少的技能。本文将带你从SQL的基础知识开始,逐步深入,让你能够轻松上手并应用SQL。二、SQL基础1.SQL是什么?SQL是一种用于管理(......
  • 【Go基础】快速入门
    Go基础入门用20%的时间学习常用80%的语法官方网址(下载安装/官方文档/官方类库)DownloadGobinariesfromhttps://go.dev/dl/ReferencetheofficialGodocumentationhttps://go.dev/doc/SeeallthetheGopackageshttps://pkg.go.dev/AccesstheGoPlaygroundh......