00:00
下面呢,我们来看一下函数注意事项和细节讨论,就跟刚才咱们讲的这个学习的流程是一个道理一个道理,我们现在呢,已经把这个基本语法,运行原理还有快速入门都说完了,那现在呢,我们看看函数使用的细节和注意事项。哪里呢,打开它,我这里对函数的注意事项一共总结了大概有13个,13个,那么有些对于我们同学来说呢,比较轻松,就是有些你知道了。有些呢,大家不知道呢,我再多说几句就可以了,并并不难。好,我们来把这个函数的注意事项和使用细节进行一个讨论,哎,同学们来吧。那现在我们聊聊函数注意事项和细节讨论。啊,再说一句啊,现在我讲的函数你也可以简单理解就是方法,因为我现在还没有用的函数是编程,那函数和方法呢,本质就没什么区别啊,再说一遍这个。
01:01
好。那我们来看看他的注意事项有哪些呢?哪些呢?我们来聊聊这块。第一个函数的行参列表可以是多个,如果函数没有形参,调用时可以不带这个括号,那么这个地方我简单的说两句。那这个应该大家应该很清晰的了,就是呃,就是函数的参数列表可以是多个。可以是多个,如果没有行参,调用时可以不带这个小括号,应该在前面已经讲过了,这个我就直接过了啊。第二个行参列表和返回值列表的数据类型可以是值类型,也可以是引用类型,什么意思呢?就是我返回的行就行参列表和返回列表可以是任意类型,这点我相信同学们应该很好理解。应该很好理解。就说。举举,举个最简单的例子,我给大家举个例子,就针对二,我们举个例子来看一个。
02:01
那现在我们讲的是函数的细节,我就专门建一个包,包叫什么呢?Function,什么呢,Details。Function details,我们写这么几个案例啊,写这么几个案例来吧,比如说detail。DTIS01啊,简单的排排走一个。好,现在我们这个就不叫零一了啊,干脆直接就取个就叫就叫details吧,把这些细节都写在一起,把干脆还还写到这,就这样好,我们把刚才这个呃这个说一下什么意思呢就行,参列表,比如说我举了一个例子DF,比如说这个TEST01。那么我既可以传入,我既可以传入一个in证,注意啊,传一个in的同时呢,我也可以传入一个,呃,引用的类型,这是值类型,我也传引用类型,那为了演示引用类型呢,我写一个类,比如说这个叫tIgEr tIgEr。
03:07
TIgEr OK,那tIgEr呢?呃,我们给他先不写属性啊,现在我们没讲属性,我就先写一个tIgEr,那这个地方我可以传入什么呢?TIgEr。哎,也是可以的。那么这个时候呢,我返回也可以是。这是没有问题的,就是从语法上来说呢,就这意思,比如说呃,我拿到这个tIgEr,假如我写一个属性吧,写个名字。一个属性,一个名字属性。那给他写一个叫VR name。啊,默认给它来一个字符串,那拿到这里面我做了一件什么事情呢?诶,我把这个tIgEr,我我我我这样子啊,我把这个N打印一下,N1等于。N1等于再加上这个N1,然后呢,我把这个tIgEr的名字改一下,名字等于什么呢?给他改成这样一个名字,改成一个名字叫Jack。
04:02
好,最后呢,我把这个T返回。就这这么简单,那这个地方我就讲了,诶行参列表可以是值类值也可以是引用类型,返回呢可以是值也可以是引用,因因为子类型我们原先返回的int已经讲过了,引用类型再举一个例子哈,用一下,比如说现在呢,我先构建一个tIgEr等于六一个tIgEr。好的,那T呢,我给他一个名字,点name等于好这个我就不不取名字了,我直接试一下啊,然后呢,T01传入一个十,再把这个tIgEr传进去,好这个地方会返回一个,这个地方会把这个tIgEr再返回。注意啊,你这返回的tIgEr和你这个tIgEr是同一个tIgEr,那么我接收一下,大家看是不是这样子的啊,就这两个tIgEr应该是同一个。那么我接收一下,我接收一下啊,比如说就不用我看这个tIgEr可以接收啊TIGER2。
05:03
TIGER2,那么我现在呢?把这个T2的名字输出来。点name。好,我们先看看它是多少。好,这个对我们来说应该很简单,因为我这返回这个tIgEr是你,你相当于说你这构建了一个tIgEr,把它传进去,传进去过后呢,把名字改了,那改了完过后,你名字仍然是Jack了吗?你改成Jack了吗?那我运行。我运行过后呢,我们可以看到返回的名字,对不对,是Jack,那么我在问同学们一个问题,如果我输出tIgEr的名字,它是多少呢?它是多少呢,各位。是不是,呃,也是泰也是Jack啊也是Jack,这点在这点跟Java咱是一样的,来输出一下。诶诶,我再问大家,这个tIgEr和这个tIgEr他们是同一个对象吗。
06:00
他们是不是同一个对象?我这不你们去Java怎么说Java是Java里面是不是同一个对象,哎,我问大家Java里面是不是同一个对象。不,Java里面是不是同一个对象,你们不知道吗?中康是不是。就就你小康你说一下是不是同Java里面是不是同一个对象,如果这样做。不就是Java里面这个,我溜了一个tIgEr,把它传进去过后,让它改了名字再返回来,这两个是不是同一个对象。是吗?对吗?那肯定,那这个scan里面也是同一个对象,明白吗?啊,就是我要证明一下这个事情,把它的哈希扣打出来就可以了,这点我就是想给他说一下,他也可以像Java这样去处理,就像就像讲这么一个东西好跑一个。我在里面没有六嘛。是不是不是同一个嘛,你看嘛,741沃尔嘛,741这个大家要理解啊,就是说Java这个我要讲的目的就是说它这个机制跟Java是一样的,而且而且也应该一样才对吗?你要说真的,我我这给他溜了个胎,给他传进去啊,他把名字一改,这就成了一个新的对象,那我告诉你这个。
07:18
这个程序就没法写了,我又没在里面溜一个,除非我这么干一票。我怎么干一票呢,我在这里面把这个名字,我新创建的一个tIgEr把它返回去,那那这就不是一个了,对不对,好,这点大家。一定要清晰啊,这个我觉得并不绕吧,我也没有说其他的东西啊,我也没有讲让大家感觉到很混淆的东西,我就是把tIgEr传进去,改了一下名字,然后再把这个tIgEr返回,只是可能同学们会觉得是不是有个return更舒服一点啊。其实我这没有用,它没没毛病了,就是为他一样的意思啊,好了同学们,这个我就不再多说了,如果这个还不理解的话。
08:01
想想啊,这个肯定是同一个,你想想那个内存图应该怎么画。就应该是主站里面有个tIgEr,这个里面有一个站,站里面这个tIgEr也指向了这里面传接tIgEr指向那个对战里面那tIgEr他改了名字,改完名字过后仍然是同一个,好,这个你要想不起来画画那个图啊,好,我就不再去画了,因为这属于Java的部分。好,我先写到这里。好的,同学们,跟上思路啊,跟上思路。好,跟上思路,好,我们讲它的第三个细节,开了中的函数,可以根据函数体最后一行的代码自行推断函数的返回类型,那么在这种情况下,Return关键词可以不写这个,这个我们已经讲过了,比如这个案例,你看。这个如果是这样的一个形式啊,看我们可以写。也可以不写,就讲了这么一个东西。就是它根据最后一行自行推断函数这类型,好,这个瑞可以省略,那么我把这个呢,给同学们放到这里面来,好,这个案例我就不再举了,直接把案例给大家板书过来就可以了,不然哦,这个挺简单的。
09:15
就是这么一个案例。好,给大家插到这个位置,好,紧接着我们看第四一个需要同学们注意的细节,第四一个因为scanner可以自行推断,所以在省略关键字的场合。啊,返回值类型也可以省略及可以简写成这个德行。啊,就说把那个去掉了,好,这个呢,大家也在前面也见过了啊,我只是把它总结在这里。好,也就是这种这四个呢,说明我们上面这个代码连这个int也可以去掉,但是注意啊,要去掉这个int,包括前面这个冒号一起去掉,你不能这样去啊,周老师我去掉这个不行。他们两个是一个整体,因此呢,你要去掉都统统一去掉。
10:05
好,这个时候呢,你应该这么去把这个去掉,这个也是OK的。这种写法在我们今后写的特别多。就是因为它可以自行推断,所以在省略的关键字场合,返返回值类型也可以省略,也可以省略。但是我们接着往下继续看细节,第五一个,如果函数明确的使用了return,注意听明确使用return,那么函数返回就不能使用自行推断了。什么意思呢?就是如果你一旦加了,那么自行推断就无效了。那无效怎么办呢?这时就要明确的写成冒号返回类型,否则就会报错,我举个例子,我以这个为例,还以刚才这个为例,比如说。比如说这个案例,我我先把这个细节拿过来啊,先把这个第五个细节拿出来,我们举个例子。
11:03
嗯,同学们看到这些这些东西呢,可能看着有点难受啊,就是我一次性把它说清楚,后面大家就不需要反复的,我我把这个拿过来,我们看他说的什么意思,写干例。这个DETAIL1,我们再写DETAIL2。好,打起精神啊,同学们,DETAILS02来,我把这个细节也给同学们聊两句,走一个好,还是老规矩,把刚才这个呢扔在这儿,扔在这儿,那么同学们注意观察,注意观察。如果。我这写了return这个语句,立马就会报错。各位,为什么呢?因为我刚才说了这么一句话。就是如果你使用了return语句,自行推断就无效了,你就必须明确的指定这个返回类型,即你要这么写。啊,这样才可以就是有了return这句话的意思说啊,如果写了return return就不能就是返回值类型就不能处理了。
12:14
就不能省略。而为什么呢?因为他他在这个的时候,他明这个地方相当于说你相当于说你不想使用这个,呃,自行推断,所以这个就必须要写清楚啊,这样子才是对的,那么接着往下再看下一句话。下句话是什么呢?当然,如果你什么都不写,即使有return,返回值也是空,这是什么意思呢?啊,它是这个意思,比如说我们现在有一个get some0假如啊,同学们,假如我这什么都没写。我什么都没写。这个是可以的,你看这个语法它又过了,但是你你不能写个等号。那你不写这代表什么意思呢?就代表说我这个函数就是没有返回值。
13:05
啊,就说如果你什么都不行,代表我既不用类型推断,我也不用类型就代表什么,我就是没有返回值啊,如果返回列返回值这里。什么都没写,就这是空的。这是空的,这里什么都没写,什么都没有写,即表示,表示该函数没有返回值,就是明确说没有返回值,返回值这时你写了也无效。这时你的return也就无效了,即使写了啊,写了也无效了。那有些人说老师你什么意思呢?我举个例子。好大家,嗯,不要着急啊,我们我们慢慢来慢慢来,那我给大家举个例子,大家一看就清晰了,其实也很简单,举个例子就熟了,Get上我写个十,写个20,那么同学们可以看到,因为本本身你这写了个return,按理说应该是40,但是很遗憾,因为你没写这种返回的就应该是。
14:09
这个东西,因为同学们以前我们知道这个就代表。Unit就是VO的意思,好,这个时候你们会看到它返回的是这个东西运行,我们看结果,诶同学们可以看到返回的这个。好,这点请大家注意一下,我们刚才说的这一个注意事项啊,就是第五点,再再说一下,如果函数明确写了这个关键字。那么这时返回就不能不能使用自行推断。他就就说编译器它不会再使用类型对断,这是就要明确的写成这个类型。好,这是刚才说的第一个,第二,如果你什么都不写,就无效了。啊,即使你写了返回自己是空即无效啊,这个大家注意一下就可以了。
15:01
好老师呢,把这个说到这啊,这些细节的地方是有点繁琐,同学们听起来也有点啰嗦,对不对,其实我也不想讲,这玩意就就太麻烦了,有时候。但是呢,不讲你后面你用的时候,突然哪块你你就跟不上趟了啊,我把这个案例呢,给各位朋友放到我们的笔记中去啊好的。好的,我把它呢,插到我们这个第五个需要注意的地方,写到这,好,各位同学我们看第六一个需要同学们注意的地方,第六一个来看一个,第六一个什么呢?如果函数声明。明确声明没有返回值叫unit,那么函数体内即使有也不会有返回值。就假设你写了一个unit,那么这个时候告诉大家,你写return还是不写return都不会有返回值,这个效果跟刚才这个是几乎是一样的,那么我写一个案例给大家证明一下这个事儿。就是这些细节呢,我给他说,一次性说完。
16:02
再看一下。OK,好,比如说我这里有一个great results3。各位,那你有个return可以啊,那我就写个unit等于。好,同学们可以看到。这个时候呃,苏老师你这个不对啊,你这个N1加N2不是T吗?怎么会给这个unit呢。啊,这个他不管啊,他认为是可以,因为他这个编译器,他就认为你反正没有没有返回值,我我就不接收就完了,所以这种写法和上面这个写法其实更加的。70等价啊,大家注意一下,那么我仍然给大家调用一下。就get result3我写一个啊九。九好,同学们,你们看到这里呢,也返回一个空。欧了啊,同学们。好,同学们可以看到这个地方仍然返回两个两个no,语法不会报错,语法不会报错,你看这。
17:00
是吧,好,我把这个呢,也给各位朋友放到我们的笔记中去,这是老师讲的第六一个需要同学们注意的地方,就是注意一下这个使用的时候,好,我把第六个细节给大家拿过来,我就不啊说了啊,同学们好,这是第六个,好我们来看第七一个需要同学们知道的注意地方,第七个如果明确函数没有返回值或不确定有返回值,这个时候呢,那么返回值的类型可以省略或者写成any。那么我举一个例子看这两个案例,大家一看就清晰了,比如说我这里有一个F3。大屏下。我这里有一个F3,那么我传了一个十寸进去,我计算如果它的长度大于三,我返回的是S加123,否则我直接返回一个三,那么大家看这是一个字符串。
18:00
这是一个字算,而这个是个int,显然你这里写什么都不合适。你不能写成十寸,也不能写成硬的。那怎么办呢?你两种选择,第一种省略。让他又内心推倒。还有一种方式呢,就写any,为什么写any就可以呢?因为any是所有类的负类,所以这两个呢也是可以的,好,这个呢,相信同学们应该很好理解,咱们学过Java的同学,好,我只是把它整理到这里啊,同学们,我把第七点给同学们拿到这里来。以后大家再看到这个呢,就不觉得陌生了,对不对?好,第七个我给同学们搬到笔记中,确。啊,搬到笔中去,那这里呢,我把这个两个小案例给各位朋友拿过来就可以了,我不再写了啊,那边相信同学们都很好理解这个东西,好,各位我们再来看第八一个案例,那第八个细节,那么斯看的语法中,任何的语法结构都可以嵌套其他余分结构什么意思,非常的灵活,这个是看在这很很很很很有意思啊,灵活,但是有些人为这个太灵活了,感觉到压力很大。
19:15
他什么呢,他这样子的。它可以在任何地方签到其他语句,你比如说函数中可以在声明或者在定义,函数类中可以在声明内,方法中可以在声明方法的定义。那么我举个例子,大家一目而了然。这个大家要看开啊,看开就是以后你看到有人这么去用,你也不要觉得人家用错了,那么现在呢,我们来看一下它是怎么玩的,来朋友们,我们整一个DETAIL3。二走detail dets03走一个。来吧,同学们,那现在呢,我写一个主函数。哎,我写一个主主函数,那么正常情况下我们应该怎么写函数呢?我们应该在想C。
20:00
OK。好,我写一个这个地方呢,我们写主函数里面的Co OK,这个很正常,这其实就相当于是这个object这个对象的一个方法,但是因为我没有用了,把它看成函数也无所谓啊,现在我要开始玩了啊,同学们,我要开始玩了。那么我在这里面写个F1。打开。诶,可不可以呢,可以的。你看在这个组的函数里边,我又写了一个函数F1,这个是OK的。这个是OK的,那么我要问。我要问问题了,说老师那这地方你感觉非常奇怪,你把函数里面写个函数,是不是它是一个内部函数呢?我告诉大家,它不是一个内部函数,它的地位。它的地位和这个c hello是一样,只是呢,它在底层会写成一个私有的final类型的函数。发音的那些,那同学们我们来看一下这个源码。
21:01
好,我在这儿输出一句话啊。诶,我问大家一个问题,我问大家一个问题,请问当我运行这段代码的时候。会不会输出F1。会不会输出F1这个字符串?不会的,因为它是定义对不对,哎,它应该是说OK,好同学们请看效果。同学们请看效果,那这个时候呢,它输出OK,不能号正确,我们看看F1到底变成什么德行了,它到底是一个内部的函数呢,还是。一个普通的就是跟这个c hello同样一个地位的函数呢,我们打帮啊,我们打开这个看一下来,同学们打开这里。我们来打开它,找到我们的这一个CHAPTER05里面的details。诶,这个上哪去了啊,就这就这,我们lawyer同学们看到它这里应该是123走一个,诶我们发现有点意思,看这里。
22:07
其实他把这个F1提到了上边,也就是说它仍然是我们对应的这个类的一个方法,只是它是一个私有的final方法。有时不能改了。啊,当然也不能被继承下去。对吧。好,这个就是他被这样去处理了,好,这是呃,他的一个方法,那么我再问大家一个问题,我再问大家一个问题,请问这边还有一个特别有意思的现象啊,我问同学们一个问题,比如我在这个本里面再给他写一个同名的say hello可不可以?可不可以?告诉大家这个也是可以的。那么它会怎么玩呢?好,我写一个啊,这主函数里面的一个C哈,COK,你看这个也没报错,甚至我在这里面还可以写C。
23:05
OK。那你说老师他这样子会怎么命名呢?我把这个讲一下啊,以后同学们看到这个现象就知道怎么回事了,我就写个COK中的COK。好,我告诉大家他是怎么玩的,他这样子的,他这样子的啊,首先编译器在编译的时候呢,它会把它就成做一个成员的成员。同样这个地方也会是个成员,那么他命名的时候,他会这样命名。它会整成一个private final类型的什么函数呢?叫c OK Dollar。一。他为了让这两个函数名字有区别,它会自动加一个DOLLAR1,待会我们可以看到,那么当你在COK里面再定一个COK呢?它仍然是放在这个detail里面的,只是他的名字变成了private final里面DOLLAR2。
24:01
他用这个Dollar形式来不停的往下伸走,所以它是可以直接定义的,那么以后如如果看到这个情况呢,大家要一目了然,来,同学们,我们运行一下。好运行过我们看是不是跟老师说的一样。诶,运行完了过后呢,我们打开这个编译工具看一下,诶同学们可以看到。你看这里有个COK1 dollar1,有个DOLLAR2,你看c okk是里面那个M的Co OK,好,知道这个就可以了啊,以后呢,呃,同学们看到这个语法现象,不要觉得是错的就可以了,而且呢,大家也不要去说哦说哦,我在函数内部里面定的函数或者方法,它就是内部的这个不对啊,它仍然其实它的地位呢,和这个一样,只是它的,呃,这个修饰符发生了一点变化,仅此而已,好,同学们知道这个啊,好,我把这个呢给同学们放在笔记里面去就OK了。好,我把它给各位板书到这里,紧接着呢,我们看第九一个需要同学们知道了,盖LA函数的这个行参在声明参数时可以直接复出值就是默认值,那么这时调用函数时,如果没有指定行参,则会使用默认值,如果指定的行参时参会覆盖默认值,看杆率。
25:25
这个地方我们讲的是什么细节呢?就是函数的默认值这个细节,那么我就不说那么多了,我就直接上案例了,这个案例我我也不去想了啊,这个案例我已经准备好了,我们直接拿过来给大家演示一下details,因为这些都很简单。第1T04来看一个小案例,各位朋友,比如说现在呢,我这里有一个这样的函数。这样的函数,什么函数呢?就这个函数,同学们看到这个函数我是干什么的?我有一个COK,里面有个name,那么寸后面我加了一个Jack,那就意味着它的默认值就是name name这个行参的默认值为Jack。
26:09
啊,有时候你会看到有默认值这个说法。Bo,那么我们来用一下同学们,比如说现在我直接调COK。好,我没有传任何东西,那么看看它返回的结果是什么?好,我把它输出。好,我没有传,是因为你有默认,所以说这地方应该返回是Jack OK这样一个返回,Jack OK。好,执行一下,我们看结果,同学们返回的结果呢,跟我们想的一样,是JKOK,好,现在我传一个值,我把它改成这个marry,那么因为你传的有距离值的,它就会把这个默认值覆盖掉,所以这边返回的是。Marry OK very good啊,同学们请看,现在我们执行的是marry OK,就这么简单,好,这个细节呢,我们就过了。啊,把这个快速的过一下,好,这个就完事了啊同学们,我们再来看下一个细节。
27:06
下个细节是我们的第十个细节,那么第十个细节是什么问题呢?在我们SC里面。也有这么一个特性,就是说它有一个叫做代名参数,也很简单,我说一下,你一下就明白了。看案例,如果一个函数存在多个参数,多个参数每一个参数都可以设定默认值,那么这个时候传递的参数到底是覆盖值还是传递的参数到底是覆盖默认值,还是覆给没有默认值的参数呢?这就不确定了。他默认按照从左到右进行覆盖。举个例子。好朋友们,我再给大家看一个案例啊,Details参数的一个案例就DS05。零五这个是参数的吧,就写一个,为了大家将来稍微有点好看啊,Parameter。Parameter,写个零五吧。
28:01
好,同学们看一下这个案例是个什么意思,比如说现在我有个我有一个函数,这个函数大家一看就很明白了,是我有个MySQL connect,里面有地址。是本地port,默认3306MYSQ一看就是啊,用户名为root,密码为root,没问题没问题,现在我分别把它打印出来,我们来看看,如果我现在啊什么我都不往里面填,显然它全部采用。默认值没问题,我执行一下来走。肯定是按默认的全部输出来,没没没毛病,再来看一个效果,MYSQL现在呢,我传的是1270101,好,紧接着我又传了一个7777问题来了,请问现在我找一个同学说一下啊,当我运行这一个。含调用的时候,那么请问嗯,这边这个地址应该输出多少。
29:01
是不是127.00.1的把它覆盖了,那么这个端口是不是变成七七了,另外这两个是不是因为没有填它,从它是从左到右。它是默认从左到右进行覆盖。到右覆盖是这意思吧,覆盖好,所以说这边应该是127,这边是77,这边UR呢,仍然是入这个密码呢,然是入这个也没毛病。这是肯定的,同学们看这个代码其实很简单,肯定你看这。没问题,但是有一个问题,有个什么问题。我想做这样一件事情,我就想直接改密码,我其他不想改怎么办呢?好,这就用我们的代名参数,注意听。注意听啊。如果。如果我们希望指定,指定给。指定覆盖某个默认值,则使用代名参数即可。
30:03
好,那时候什么意思啊,我听不懂,那么举个例子吧。大家看案例,My circle。好,二话不说,我们现在只想改变他的他的这个用户名和密码,比如比如修改用户名和密码啊,其他的我不改,那你这个时候你显然不能这样写了,说老师那我这样写不就完了吗?多简单,密码我改成用户名改成汤姆,那密码我改成123,注意你这样写语法都过不去。因为你这样写它默认呢,人家不管那么多,人家默认从这开始填一填,诶汤姆还类型还可以匹配,你这是个特能传不进去了。说他不能这么干,那怎么办呢?好,同学们,我们直接这样写,就是叫什么呢?叫做代名参数。单品参数怎么写呢?在调用的时候,直接把这个参数名写进去但就可以了,看一个案例啊,好,我只要写一个叫做user,我重新来一下,这样它会它会有提示。
31:04
User你看这写好了,这个地方我要把它user等于什么呢?汤姆,诶这样就很清晰了,然后呢,我们的密码等于什么呢?123好同学们,这就可以了。这样子就是要代名参数执行一下,好,为了让上面不给我冲突呢,我先暂时的注销一下。同学们请看运行效果。好,这个运行效果当然很简单啊。自干这事好,这个就说完了,那现在呢,我们出一个题,让大家来看看这个题怎么做,我找一个同学思考一下。大家看这边会输出多少,这边会输出多少,找一个同学看一下。动脑筋。这是一个面试题啊。这里我只听了一个。不认识。好,第二个我们有指定。
32:01
好,找一个同学。咱们请一位同学叫做。咱们找中间的同学吧。叫班长贺文生同学来,来纹身,第一个题会怎么样?就是这边你会,你你觉得会输出P1加P2等于多少。V,那就是V2,后面这个怎么办呢。P2有默认值吗?没有,所以说这个应该怎么样。报错是吧,是不是应该报错,你你这个V2是不是按照我们刚才讲的是从左到右覆盖,你这个V2是不是把V1给覆盖掉了,但是你P2是不是没给值啊,说这个直接就报错了,好第一个就就这样子,第二个题你看一下是不是应该输什么。
33:01
第二个是不是我用了待命参数了,这个就没毛病,说他这个地方就应该输出V1V2啊,请坐下啊,文正同学地方要要注意说第一个是错的,第二个是V1V2,好,我们看一下这个结论是不是对的。来吧,因为我就省个省个事了啊,直接给同学们拿过来运行一下就可以了,非常的简单。来吧,同学们往这一放,我把这段代码拿过来。同学们可以看到,当我进行一个测试的时候,拿到这直接报错了,他报的错误当然很简洁了,就说什么呢?他说你没有指定P2的值。啊,除非你把P2的值指定才行,比如说我写一个叫V3啊,这就可以了。好,同学们注意这个细节啊,这面是报报错的,这个是错误。好了,那关于我们的,关于我们的第11个十个需要同学们了解的呢,老师就讲到这里,好,我把东西给大家放一下。
34:03
好,写到这里了啊,同学们。第十个。啊,这一次讲完以后,大家就不用再为这个语法担忧了,对吧,不用再为语法担忧了,就这么一点东西。那么我把它呢,给各位朋友放到我们的笔记中去,完事啊完事。好,这是我们讲的第十个细节,第十个细节。好,我先截取一段视频。
我来说两句