00:00
那下面呢,我们再来看一下函数使用的另外两个重要的细节,第一个呢,就是呃,讲讲到第12个了啊,12个使用下划线标识符忽略返回值,这一点是不是在前面已然讲过了。对吧,在前面我们已经说过这个事情了,说这块呢,我就不再多多说了,就说什么意思呢,比如说我这里有两个返回值。对不对,我有两个是,一个是sum sub,那么我在调用这个函数的时候,如果说我只想得到其中一个值,那么另外一个值用下划线来使用就行了,如果两个都不要,那你那当然就就两个都不要,那你直接掉下不就完了吗?对吧,就不用接收了,就说这个下划线可以作为一个站位符来忽略返回值这点这个我就不再举例子了,好不好,我就直接把它放到整理我们这块代码里面去就行。好吗,就直接放这了,各位朋友,我就放这案例呢,我也给大家放到这,作为一个系统的介绍嘛,我还是把它放到这里来。
01:03
好,同学们看一下。具体来说呢,它这个占位符就是在这里出现的,对吧,是不是在这啊这。看到没有?哦,干脆不画吧,画了过后反而反而大家看不清楚了,好吧。反而大家看不清楚了,适得其反。所以就这个位置,我用个框框框起来就行了,这。看到没有,诶,就这个地方。好,我把它整理到这个笔记里边去。那下面呢,我们再接着说吧,就是说最后一个细节,那最后一个函数细节讲完了就没有了啊,大家也不用担心或老有那么多细节,还有一个就是在购中支持可变参数,这个也是非常重要的一个知识点。那它可以支持零到多个参数,比如说。同学们看。AX。比如说我想去求。多个数的和,但是这个数有多少个我不知道,可能是两个数,可能是三个数,那这个时候呢,可以用可变参数来实现这种效果。
02:07
零到多就这样写的,二点点点三个点啊,同学们,这三个点缺一不可。就是它是一种固定的写法,前面这个参数名字可以随意,后面是数据类型。如果说你要支持一到多个参数怎么办呢?那前面这个呢,给它写写写固定,后面呢也可以加一个这个可变参数,好,我这里做了个说明二,其实它本质是一个切片。就slash是个切片,但这个切片呢,大家现在还没有还还没有学习,你可以暂时把它理解成就是一个数组啊,只是切片呢,它是一个动态的数组而已。那因为这块还没有讲解,所以说这块呢,我就是简单的给他用一下,后面再讲切片的时候,还会再把切片做一个深度的了解。那我在访问这个参数第几个参数的时候呢?可以用a index来访问,再说一遍啊,As这个参数是可以变明的,不是说固定就一定叫X,也可以是别的名称啊,然后呢,我们写个案例吧,编写一个sum函数,可以求出一到多个int的和。
03:19
一就是至少要有一个数。至少要有一个数,然后呢,到底是呃,两个三个四都不知道,所以说呢,后面就是一到多这个说法,来同学们,我们一起来完成这个案例。来吧。好,这个地方我们写到这。对吧。然后这边具体的说法呢,我们把它整理一下。争议到咱们笔记中,这是它的基本语法。这是他的说明,好吧,我们直接来玩吧。我们直接写写,把它搞定。这是我们的基本语法和案例要求。来,放到这里,我们来一起完成。
04:01
到这里,我们一起来完成它。来做代码。代码影视。代码。演示好,跟上老师思路啊,同学们跟上老师思路,我们就完成哪个案例呢,就完成这个案例。就是我在这个幻灯片里面写的这个案例就行了。来打开我们的这一个。这个Vs code来完成它。他说编写一个函数叫sum,但是sum函数是不是已经有了呀?啊没有啊没有,就刚好可以用这个上函数了,那写吧fun上,然后呢,他说呃,可以求出一到多个int值,那至少要有一个对吧,那就N1把它写好,就这个参数呢,一定要这个不是变参的,就是不是可变参数的,就一定写在第一位后呢,参数X一般我们写点点点,就一般是这样命名的,但是这个名字可以变啊,然后类型是int,因为它说多个int嘛。
05:07
对不对,多个int。好,然后写完了过后呢,我们来求出它,比如说我这先定一个变量叫sum默认。就等于啊这样一个返回值。把这个返返回值写好,Int因为只有一个返回值,所以说我就没有用括号把它括起来了,默认就就为一,假设只有一个值。假设求求的时候时候只传了一个值,是不是就N1就是整个这个数的和啊,然后呢,For循环便利。叫便利。便利二。因为你你现在不知道他传了多少个参数就要便利它了,对不对,那就for循环嘛,I。对于您。I小于。AX。认识一下,求出它的长度。对不对,求出它的长度,然后。
06:00
在认识的时候呢,咱们就这样去计算,然后是I加加。I加,加好,这时呢,我们就累积加等于多少呢?就是X。里面的I就行了。因为我从第零个开始编离这个202I传接来是零的时候好注意,零就是传的地面的第一个,如果是一就是第二个,以此类推。啊,我做一个说明。好,XX。AX。零表示。表示。取出。表示取出这个X这个切片里面的,但切片大家还没学啊,你先听一下切片的第一个元素的值。其他依此类推。第一个元素的值,其他,其他以此类推。以此类推就可以了,好,最后我们把这个值返回。
07:00
把这个求道的这个sum返回代码写完了。代码行,那现在呢,我们来用一用吧,看案例。啊,测试一下,测试一下可变参数的使用。那现在呢,我用一个值来接收,比如RESULT4等于什么呢?上我先给他传一个值,大家看我这个对不对。好,我把这个呢打印出来print。把RESULT4输出。Result是等于把这个结果输出来,大家注意观察,看代码有没有问题,跑一下走着我们发现这地方是有问题啊,看哪里出了问题,打开了往这看。这个地方的错误是因为这吗?看这里哦,大家看你这这这个地方为什么给一个逗号啊,这是不对的,保存一下。
08:01
保存一下,现在看看还有没有错,没没错了吧,现在没错了啊,刚才那个语法写了一个逗号写错了。我们看效果好,我们可以看到如意RESULT4等于十,因为你就一个值嘛,那现在呢,我们再多传几个,比如说零负一,然后90再来十二十几个好算的吧,这样算下来应该等于多少啊。是不是就是一百一百一百一一百一减去一个一,就是109。109看对不对,跑起来我们看效果,我们发现这个结果有问题,是不是他跟我们想的不一样,为什么不一样呢?我们看代码是哪里出了问题。好,我们来看看代码哪里出了问题,从这里我们可以让看到我们要对它进行一个便利,对不对,在便利的时候,你看我这写是不是刚才为了演示的时候把这个零没有改回去啊。因为你写死了嘛,那每次进来就是访问零,刚好就是零嘛,对不对,你这个应该是变化的,进来一次,第一次取第一个,第二次取第二个对不对?好,所以说刚才这个地方的问题是在这儿大家引起重视。
09:11
演示的时候刚好就可以测试出来,看109正确好,这个就是我们演示的一个可变参数的使用。可变参数的使用演示的是什么可变参数?参数。参数的使用对不对,那当然老师刚才讲了,就是这个2X的名字呢,不一定非是二,也可以是别的名字,你比如说我把它统一改一下,说老师我把它改成什么呢?比如说我改成这个。随随随意啊,比如说我就叫VRS。Vas其实也是可以的。你看我把它改完了过后,我再来重新给大家测一下,我再加一个参数吧,比如说再加一个100,这样是不是应该是209,看代码。
10:00
看代码看对不对,209对正确吧,所以说大家知知道这个可变参数,这个这个地方值是可以变的啊,但是通常情况下我们还是取得叫X,还是按约定俗成的来做就行了,好,我把可变参数的使用给同学们放到这里来。来吧。这个还是用的比较多的,那我把它整理到这里来。好,这是第一部分代码。那第二第二部分代码呢,我们也整理一下,就是怎么去调的。怎么调用?来走一个,这是我们去测试可变参数的。这个写法。就是什么调。好,我把它也整理到这里来。好,同学们,那关于可变参数呢,老师就讲这些内容。你把这个掌握就足足的够了啊,没什么大就就这样用在我们开发中就够用了。那这个地方大家注意,那这个顺序我们看看能不能颠倒,我在这儿补一个细节。
11:03
就是有些编程语言里面呢,它是它是这样子的啊,我们来看看,如果我把这个参数,把可编参数写在前面。把这个不是可变参数写在后面,大家看有没有问题。他支不支持这种写法,看一下。你看这不允许。要不要can only use,点点点with final final就是最后的这个parater in,也就是说他还有一个细节,就是在我们的这个构语言里面呢,如果你用可变参数,则可变参数一定要放在什么呀?放在我们行参列表里边的哪里最后一个?能理解吗?好,我把这个细节也给大家补到这里啊,刚才有个细节说了,少说了一个,加一个三吧。加个三。好,这个掌握了就没问题了,三就是呃,如果,如果一个函数的行参列表。
12:03
邢参。行程列表。中有有什么有可变参数。可变参数。则,则什么可变参数?可变参数需要需要放在行参行参列表。行参列表最后。能理解吗?最后就要放到最后,否则语法是通不过的,那这样子讲完,大家应该对行我们的可变参数就是了解的更明白一点,当然这个地方是int,也可以是十寸,也可以是其他啊,同学们注意好,那关于我们的就是函数的使用的细节就全部讲完了,大家看一下,我一共讲了13个。啊,同学们好好的领会一下后面这下面下一节呢,就要给大家讲一下我们函数的一些案例了,加深大家对函数细节的理解和掌握,好这块我们先介绍到这里。
我来说两句