华为ICT仓颉语言基础——第二章:程序结构基础
大家好,这还是一篇个人笔记,主题是:仓颉语言中的程序结构
个人笔记,个人使用,不喜勿喷,谢谢!
首先我对课程章节做了一个思维导图:

那这次我将从条件判断自定义函数两个大方面来讲解
一、条件判断
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库提供了很多数学运算函数,这里展示最基础的几种


更多推荐



所有评论(0)