最近除了人工智能,还有一个很火的HarmonyOS,HarmonyOS是华为公司开发的一款面向全场景的分布式操作系统,旨在为消费者提供跨设备无缝协同体验。它支持多种智能终端设备,包括但不限于智能手机、平板电脑、智能穿戴设备、智能家居设备以及车载系统等。
我们在DevEco Studio中编写我们的代码,具体下载方式可以去b站找。
我们在这个界面进行操作。
今天就来带大家了解下HarmonyOS的ArkTs,不知道大家学过c,java,或者python语言没有,ArkTs就像java中的语法,字符串怎么定义呀,数组怎么使用呀,再或者是函数怎么使用,对象怎么创建之类的,如果没学过的话,我们就把它当做语法就完了。
1,认识数据和存储数据
我们在这里将数据分为三种数据类型,
(1)数字类型number
(2)字符串类型string
(3)布尔类型boolean
我们来试着创建三个数据变量我们这里使用let 类型名: 来创建变量;
我们先在这上面写,通过日志来看自己代码的状态
let num:number = 18;
let char:string = '神秘的t'
let boo:boolean = true
这样我们就成功创建了三个变量,我们试着去打印它(打印,显示到日志我们用console.log() )
console.log('数字',num)
console.log('字符串',char)
console.log('布尔类型',boo)
我们点击这个小玩意,就可以在日志上看到了
2,常量和变量的命名规则
(1)常量
什么是常量呢,常量就是不可改变的量,我们定义完之后是不可以修改的,我们使用const来修饰
const num2: number = 20
const char2: string = '巧克力'
num2 = 18
我们定义了两个常量,我们试着把其中一个常量num2改为18,
我们发现报错了,“不能改变num2的值,因为他是常量”
(2)变量
那么变量就是可以改变的量了, let 变量名:变量类型
let num:number = 18;
let char:string = '神秘的t'
let boo:boolean = true
我们试着修改它
num = 12
console.log('数字为',num)
我们成功修改了num的值。。
3,数组
我觉得数组的话大家就很熟了,我们基础的数据类型只能存储一个数据,而数组呢,就方便我们存储一堆相同的数据类型
创建方法:let 数组名:数据类型[] = []
我们试着创建三种数据类型的数组
let nums:number[] = [1,2,4,5,6]
let nums2:string[] = ['数学','语文','英语']
let nums3:boolean[] = [true,false,false]
打印
console.log('数组num为',nums)
console.log('数组nums2为',nums2)
console.log('数组nums3为',nums3)
我们成功打印了
如何获得元素呢,就是数组名加索引nums[]即可
console.log('num的第一个元素是',nums[0])
4,函数
函数是什么呢,函数就是java中的方法,比如我们要打印一行数吧,我们要多次打印这行数,我们们要打印好多好多行,但是我们用函数把打印好多好多行放到一个函数中的话,我们只需要调用这个函数就能完成操作了。
基本构成:function 函数名() {}
我们试着来创建一个加法函数
function add(num1:number,num2:number) {let num3:number = num1+num2;return num3
}
let a:number = add(12,34);
console.log('加法结果为',a)
括号里是可以放参数的,return代表这个函数的返回一个什么样的值。我们来接收这个函数的返回值。
除了基本的函数外,新增了一个箭头函数,跟普通的函数差不多,但是后期我们有不同的使用场景,
基本构成:let 函数名 = () => { }
括号里可以放参数,再用箭头函数来实现加法函数
let add1 = (num1:number,num2:number) => {let num3:number = num1+num2;return num3;
}
let b:number = add(12,32);
console.log('加法结果为',b)
打印成功了。
5,接口与对象
对象和接口是什么,我们为什么要这两个东西,我们之前的数据类型要不是描述数字,要不就是字符串,那么我们要描述一只小狗呢,我们就可以创建一个小狗对象,小狗对象中有很多的属性,比如小狗的年龄,小狗的名字等等。
接口:interface 接口名 {}
对象:let 对象名 :接口 = {}
我们现在就试着创建一个小狗类
interface dog {name:stringage:numbercolor:string
}let dog1:dog ={name: '旺财',age: 1,color: '白色'
}
我们成功创建了一个小狗对象,但是真的创建了吗,我们试着去访问我们创建的dog1对象,我们使用对象.属性名来调用
console.log('名字是',dog1.name,'年龄是',dog1.age,'颜色是',dog1.color)
我们还可以在接口和对象中添加方法来完善这个对象,比如小狗还会叫,还会吃东西,我们在添加个shout方法和eat方法
interface Dog{age:numbername:stringcolor:stringshout: () => voideat: () => void
}let dog:Dog = {age:1,name:'旺财',color:'彩色',shout: () => {console.log('小狗',dog.name,'正在叫')},eat: () => {console.log('小狗',dog.name,'正在吃饭')}
}dog.shout()
dog.eat()
6,联合类型
再ArkTs中我们还有一种联合类型,联合类型就是能存多种类型的变量,比如我们定义一个变量,我即想存字符串,又想存数字,我们就使用联合类型。
let 数据名: 数据类型|数据类型|数据类型
let num:string|number = 12
num = '派大星'
console.log('num为',num)
我们看到并没有报错,而是成功打印,说明我们创建的num变量成功包含number和string两种数据类型了,我们还可以用联合类型来限定num能输出的值,
let num:1|2|3
num = 4
console.log('num为',num)
我们看到发生报错了嗷,我们不能把4赋值给联合类型为1,2,3的值了。
7,枚举类型
枚举类型又是什么,枚举类型是一种特殊的类型,它约定变量只能在一组数据范围内,那不是跟刚才的联合类型差不多吗,但是枚举类型很方便,怎么说呢,就比如我们后面界面开发,字体的粗细,我们只要找有关字体的枚举类型,枚举类型中有可选择的字体粗细,看着很方便,后面我们具体来说。
enum 枚举名{
常量1 = 值
常量2 = 值
}
enum TColor{red = 1,blue = 2,yellow = 3
}let color:TColor = TColor.red
console.log('颜色是',color)
这样我们就成功了。
我们下期来了解ArkUI。