00:00
我们已经了解了SC里边函数和方法的概念,而且也知道了函数声明的基本语法,那接下来呢,我们就来详细的讲一讲函数定义声明的过程当中可以有哪些不同的方式啊,那这里边主要的声明考虑的当然就是参数和返回值了,其实大家会发现一个函数在声明的过程当中,参数和返回值其实并不是。都需要的,甚至这两个都没有,都是可以的啊,就是比方说一个函数啊,甚至可以是没有参数,也没有返回值啊,那当然了,与之对应的可以有返回值啊,也可以有参数,那另外呢,就是有参数的话,还可以是有只有一个参数,也可以有多个参数,所以接下来我们就在代码里边把这几项分别做一个式,那接下来我们还是新建一个。GALA的object s02,我们主要要测试的是function的E。
01:08
方法写出来。然后我们把这几个助调。接下来我们一一做一个测试,首先一种情况,那就是没有参数也没有返回值啊,这个就特别简单啊,那什么样的函数它是没有参数也没有返回值呢?非常简单,比如说我们就是想能输出一句话,哎,那这个就非常简单了,那就是不需要参数也不需要返回值啊,那定一个F1知道没有参数的话就是空括号,那没有返回值的话,那就是unit里边只要直接打印一句话就够了啊,那比方说这里边我们就是。把这一句复制过来,无参无返回值,然后它的调用的话,那也非常简单,直接就是F1括号,大家要注意是空括号对吧,里边没有返回值,但是也要有一个空括号,这是表示一个方法的调用啊,那如果说我们还想看看它里边它本身的这个返回值是什么的话,也可以做一个line f1做一个打印,我们看一下到底是什么。
02:26
来了,前边的这个F1调用就会打印输出一句话,无参无返回值,然后呢,后边这里F1又是一次调用,所以又会打印一次,打印一句,然后最终它的返回值是unit类型只有一个对象,那就是空括号,打印输出是一个空括号。这就是最简单的无参无返回值的这种场景。下来。我们。来一个分割线看第二种场景,就是没有参数但是有返回值的场景,其实前面我们也大概的已经测试过了啊,比方说现在我们再定义一个F2,没有参数,当然就是还是空括号了,比方说我们想返回一个值,返回一个int类型的值的话啊,那接下来就是我们也可以先打印一句。
03:18
当前是二。由无参有返回值,那直接这样返回肯定是不行的,哎,大家看到就是目前啊,我们这里边如果要是最后没有return语句的话,这里边其实就是呃,直接最后我们这个print line,这是最后一句话嘛,就可以把它的值作为一个返回值返回,它本来就没有返回值,当然就是unit了啊,那这里边如果说我们这里本身是无参有返回值的话,不然是应该要做一个return,方说这个int,那我们就随便指定了这一个12啊,那当前F2的值当然就是12了,好,那我们可以直接把这个做一个copy。
04:03
直接调用它,然后把它对应的返回值做一个打印输出,那这个显然就可以看到F2调用之后会打印出这句话,然后呢,Return的值是12啊,这个也非常的简单。接下来我们来做一个分割,来看一下第三种情况,那就是有参数是没有返回值,哎,这主要是什么呢?那这个主要考虑的可能就是F3,有参数里面我们可能传一个值进来,比方说传一个name进来,Name string。那么没有返回值当然就是unit了,那里面可能我就是要借助这个names,然后反应输出某一句话对吧,或者做一些其他的处理,但是不需要任何的返回啊,那这当然就是这样的一个实现了line,我们还是可以借鉴一下之前的这种写法啊,现在是三。
05:04
有参数没有返回值,然后再加上可以加上一个内,这样的话就会看的非常的明显啊啊,那这里我们inline和这个打印的时候,F3调用就必须要传一个了啊,那比方说这里边我们给一个Alice。运行。非常明显,其中哎大家可以看到就是当前它并没有返回值,所以print line的时候打印的是空括号,而前面输出这个print line,它调用的时候,打印的时候,我们这里边是可以看到传进来的name参数的输出的是三有参无返回值,Alice。呃,这是这种形象啊,然后接下来我们再看下一种场景。第四种有参有返回值,那其实就是前面的一个简单的结合嘛,哎,我干脆就直接把这个直接copy过来好了。
06:03
现在是四这样把一个name作为参数传进去,比方说最终我们还要返回一个string。然后接下来呢,我们把这里边输出的内容替换成四,那最终这边我们还可以跟上这个name啊,然后最终是要返回一个string,那这个时候怎么办呢?当然就是return一个string不就完了吗?比方说我们现在是return一个派,然后加上。这时候如果我们再要做这个调用的时候,就会发现输出的结果当然就应该是四有参有返回值,Alice丝,然后是hi Alice丝对吧?哎,它是有返回值的,不是空括号了啊,整体来讲这些都都是非常简单的,大家只要把每一种场景做一个基本的测试,应该就会了解的非常清晰了啊,那后面呢,我们还有两种场景,就是可以多参无返回值。
07:07
前的这个参数可以有多个,那它们之间呢,是需要用逗号做一个分割的啊,我们可以看一下无返回值的这种场景,那我们借鉴。F3吧。这里我们定义一个F5,那NAME1STRING后面还可以再来一个NAME2STRING。没有返回值啊,所以后边我们接下来。输出的时候还是就是一句控制台的打印输出,那呃后边。我们就不要直接加在这儿了,而是在下边再来印出一句话,我们当前打印一个这个不算差值模板字符串啊,All name1,然后我们写和all name2都是我的好朋友,哎,所以这个其实是非常简单的一种呃,实现的方式啊,那所以当前没有返回值,我们也不用print它最终的那个返回值了,肯定是空啊。
08:17
所以接下来我们就直接调用的时候,F5乘一个Alice。再传一个报,这样的话它就是一个合法的调用。如果直接做一个。执行,大家就会看到爱丽丝和Bob都是我的好朋友,这就是我们当前输出的这句话,两个参数都起到了作用啊,那当然了,这个还有另外一种场景,就是多参,而且还有返回值啊,那这个其实非常简单,我们定义一个F6啊,那家想最简单的场景,这个用的用用的更多,比方说我们有两个数是int类型A和B,到最后要返回一个int,比如说什么场景呢?我就要返回它俩的和,这不就是最终的一个应用吗?传入两个int类型的值A和B,最后返回它俩的两数之和。
09:09
那同样返回的也是一个int类型啊,所以前面我们可以把这个还是打印一句话,这是。多参有返回值。然后接下来我们在A加。体来讲调用的时候是一样啊,我们可以直接来啊,最后的结果打印出来F6,比方我们可以来一个12和37。直接以运行可以看到最终的结果。多参有返回值,得到结果是49啊,所以整体来讲还是比较简单的,跟之前大家熟悉的方法的使用,或者说函数的使用,声明和调用基本上也都是类似的,大家只要把每种情形练习一遍就可以了。
我来说两句