大家好,这还是一篇个人笔记,主题是:仓颉语言中的程序结构

个人笔记,个人使用,不喜勿喷,谢谢!

首先我对课程章节做了一个思维导图:

那这次我将从条件判断自定义函数两个大方面来讲解

一、条件判断

1.if else基本条件判断

听到条件判断,大家第一时间想到的肯定是if else if else语句结构,仓颉语言也是如此,同样也使用if else语句来作为条件判读。仓颉语言的if else语法和用法和其他语言差不多,这里就不做过多的解释了,具体可如图:

2.match case选择分支结构

看到case,第一时间想到的是Java里面的switch case语句,那其实仓颉语言中的match case的作用就是类似于switch case,但是用法语法稍微有些不同,让我先用文字的形式类解释用法:

match{
case 布尔式子1 =>执行的表达式1
case 布尔式子2=>执行的表达式2
case_=>最终执行的表达式}

可以看到,执行的表达式之前必须跟着一个人造的箭头“=>”:由一个等于号加上大于号组成

在仓颉语言中,所有的条件判断语句必须要有“穷尽”,也就是必须要把所有的可能列举出来,但是又不可能一个个手打这么多情况,所以在match case语句中有着作用和else一样的“通配符”:_

case后加上_通配符就表示除此之外的所有情况

这里要补充说明一下,match case每一个分支返回的必须是同样类型的值,比如说上面这个图,第一次写了print语句,print语句输出的是字符串,默认为uint类型,但是后面的语句返回的优势一个整型,每一条分支返回的类型必须相同,所以程序发出异常

除此之外,match case还有着“选择器”的结构,结构就是在match后面加上(),括号里面填写某一个变量来作为选择器:match(变量),随后在case语句后面再添加一个where再加和选择器有关的筛选条件作为又一个筛选条件。

选择器的作用就是相当于“额外的筛选条件”,对比于多个条件筛选,他更加注重的是条件的主次性:

3.条件表达式

其实就是方便变量选择性赋值的式子,对于match case语句和if else if else语句都有,格式如下:

if else语句的条件表达式:

变量=if(布尔式子1){返回值1}

else if(布尔式子2){返回值2}

else{返回值3}

match case的条件表达式:

变量=match{

case 布尔表达式1=>返回值1

case 布尔表达式2=>返回值2

case_=>返回值3}

4.布尔类型的短路

这个很多语言都有,实质上就是逻辑判断的“最优路径”:

逻辑与&&:第一个条件判断为false就不会再判断下一个(两个为true才是true,其中一个false直接false)

逻辑或||:第一个条件为true则不会再判断下一个条件(任意一个条件为true则整体为true)

二、自定义函数

有点像java里面的“方法”的概念,在仓颉语言中,程序自己给的函数不满足于我们的使用,于是我们可以自定义函数再去使用,使用的时候我们只需要调用函数并且给出对应的参数值即可。

格式为:func关键字+函数名+(参数名:参数的对应类型):整个函数的返回值{函数体}

与此同时,我也要说明一下参数的写法,自定义函数中,在定义时,参数可写为“命名参数”(推荐)和非命名参数(不推荐)。

命名参数需要在定义时在参数名称后加上“!”来表示在调用该函数时你必须指明参数是谁,所赋值时多少,必须要写完整:

值得注意的是,在仓颉语言中,函数的参数赋值居然是用“:”冒号来赋值的,这一点需要注意!

非命名参数就是像我本标题一开始的写法,就是不加感叹号,所以这时调用函数,直接写参数值,但是你必须要按照顺序一个个对应上,负责异常:

最后再补充一下仓颉里面的库函数——math库

math库提供了很多数学运算函数,这里展示最基础的几种

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐