00:00
各位,我们接着来看算术运算符的细节。那在使用算术运算符的时候,在go语言里面使用算术运算符的时候,我们需要注意有下面五点,我总结了一下啊,那么呃,前面有几点呢?我们其实已经有,有些已经提过了,有些还没有说到的呢,大家注意听。那在这个勾浪里面有哪几个地方需要注意呢?第一个对于除号大家要小心哈,除号它和别的编程语言其实是很像的,是什么呢?它的整数除和小数除是有区别的,整数之间做除法只会保留整数部分,而舍去小数部分。刚才是不是已经举个例子了,还有印象吧。你比方说吧,X这个给它一个负值,19除以五,这个本身应该等于多少,是不是这个应该等于3.8呀。那么你就3.8,按理说如果是按四舍五入,他肯定就按四了,但实际上同学们结果是三。因为我刚才讲了,因为两个值都是整数,最后它的结果呢,必须是个整数,于是乎他就把小数部分给你去掉了。
01:06
注意这个。特点第二个,当对一个数取模的时候,可以等价于,比如说A模B就等于A减去A除以B,再乘以B,那么这是取模的一个本质,你只要把这个拿到了,知道了,那么取模的其他的问题就迎刃而解。你都知道是怎么取出来的。第三一个注意听这句话,这个有点特点了啊,在goon自增自减中只能当做一个独立去使用,而不能这样使用,比如说我A加加,然后把这个结果付给一个B。或者是A减减,把这个结果赋给另外一个值,这是不允许的,这个比较有意思,所以说呢,我把这个给同学们做一个案例。那么我们说一下算术运算符使用的细节问题。那走一个。就是我们所说的算术运算符使用的注意事项。
02:05
把这里呢给大家整理一下。这是我们的第三个问题。算术运算符。走吧。我们刚才整理的第一点。稍微整理一下笔记。第二个,第三一个。那我给大家呃举几个例子吧。那现在举例呢,我们直接还在这这个chapter,我们再建一个文件夹叫DEMO02,好吧,DEMO02。里面呢,我们写个me。新建一。DEMO02。这个是个什么意思啊,这个。重新来一下吧。啊,再重新来一下啊chapter新建一个文件夹。
03:01
叫DEMO。零二走,在里面新建一个面。main.go然后呢,我把前面的这一部分结构拷贝到新的面点构中去。打开效果。那现在呢,同学们注意观察啊,我刚才要讲的这个事情是什么呢?就是佳佳。在什么呢?我说一下,在高浪中。在go让中。佳佳和减减。加加和减减只能只只能当独立使用。只能独立使用。独立使用啊,当做一个独立的句子使用,你大家看我有一个I。Inch等于八,注意看效果,比方说我又一,我又有一个值啊。
04:00
高。A吧a inch,我这样给值。A等于I加加。这种用法其实是很普通的一种用法,对不对,但是呢,在我们这里面,你发现它是错的。他不允许这样用,也就说他在你要这么用的话,他就报错了,他怎么用呢?他是这样用的,他说你要加加,你先把它加加了,然后再把这个I付给他,这是允许的。看到没有,他要这么去用啊,他要这么去用才可以。明白这意思吧,他这么去用好,所以说呢,注意这个语法的特点啊,就说你。它只能当做一个独立去使用,因此刚才老师写的这个用法呢是错的。减减也是一样的道理,你比如说周老师,我要这样写呢,A等于I,减减呢也是错的。都不行,就是错误。错的啊。错误错误啊,因为A加加只能。
05:01
只能独立使用。同样这个地方呢,也是错误,I减减呢,I减减也是只能独立使用。注意这个问题,甚至连这样都不能用,甚至连这样都不能用啊,注意看,在我们很多的编程语言里边,其实这样用是没有任何问题的。看这样用也不行。If,比如说我做一个I加,加大于零。然后里面写上一句话,OK。同学们看。这种语法在很多语言里面是绝对可以支持的,就是把一个值加,加完了过后。或者是怎么操作了以后再跟另外一个数进行比较。这种这种肯定是很常见的,但是呢,在go浪里面这个也是不允许的,大家看。我已保存,我已保存过后,你看到这个地方提示错误。这个地方也提示错误,这个地方仍然提示错错误,如果你把这个I加加去掉,诶下面这个就不提示错误了,语法它不会不会认为是错的,上面两个还是错的,看到没有,所以说这几种用法都是不行的,那么最后得出的结论就是加加和减减只能独立使用,能清楚吗?
06:19
这是我们勾浪里面的一种,它的一种强制性的要求,我们语法,语法必须怎么怎么写的一种要求,那么在勾浪里面他的设计者是怎么理解的呢?这个时候你只能去想一想,高浪设计者他怎么想这个事的。勾让设计者说,干脆这样子啊,你们因为以前这个加加和减减啊,在很多编程语言里面就是让初学者最挠头的。就是一会加加完了,我再判断是前加加还是后加加,诶搞得这个。很头疼,所以说comp他们在这个设计的时候,就干脆规定我们加加和减减呢,就独立使用,你用完了过后你再去跟他比较,比如说你要做爱加加可以,那你就先把这个加加了,然后再去比较。
07:08
他是这么去设计的,就是说他强制我们语法的一种什么呢?统一性,简洁性,就他认为不要有那么多。容易产生奇异的这种,这种写法能理解我的意思吧,就设计的,他这么设计了呢,没有办法,我们就只能去按照他的设计的理念来运用。他的这个。加加和减减的使用,同学们好,我把这个写到这啊,这两种这个地方都是错误的,我把它写到这。比如说下面的这个写法就是错误的,对吧。我把案例给同学们放到笔记里面去,注意听啊,这块是比较重要的。因为这这个地方它跟别的编程语言呢,它是有一些区别的,而且你刚开始的时候,你觉得老不习惯了,那这里刚才老师说的这个地方啊。加加和减减只能独立使用,对不对,然后呢,这个这样又是错的。
08:04
这样用呢,也是错的原因,我这做了解释,这种用法都不允许。这也是错的。因为刚才讲过,加加和件件只能独立使用,如果你要做这个处理,可以你加加完了过后先挨加加做了过后再去跟零币要。它是这种设计理念,同学们,我把这块代码呢,先给同学们放到笔记里面来。下面的两种用法,下面我标红的写差的都是错误的啊,那嗯,既然如此,那现在我们接着看它的下一个用法,那这块因为是错的,我就先把它怎么样注销了,能理解吗?因为他已经演示演示过了,我就把它注销。紧接着呢,我们继续来看。紧接着我们继续看它的下一个。还有什么特点没有?还有一个特点,勾让的加加和减减只能写在变量的后面,不能写在变量前面,值及只有后加加后减减,没有前加加或者是前减减,这点也是体现出它的设计者的一种强制我们语言不要有任何歧义的一种设计理念。
09:12
对吧,他的设计理念很简单,说你不要整那么复杂的东西,你你就你就。一写这个代码,我们就知道是为什么了,大家看,再给大家演示一个小案例,你比方说吧,我这里有个I in还是等于一。等于一这个没毛病,那么你做一个加加好把它输出来,这个肯定是OK的,那我I等于I这有什么毛病,肯定肯定没有毛病,我执行一下。我回到DEMO02。我go一下,Go。然后呢,我们的命好跑出来,I应该等于多少呢?I应该等于二。I应该等于二没问题,正确,但是你不能这么用啊,说老师我想把它再加加一下,很多编程语言里面这个这样的用法绝对是没毛病的,对不对,你看你这样一做,他马上就报错了。
10:10
看这里。报错了。看到没有,他不允许你做钱加加的操作,如果你要加加,可以你再来一次,这个是允许的,这样做没问题。这样一做呢,它又相当于加加过后再加加这个就应该等于三了。但是注意啊,这种用法是不允许的,错误。错误在go浪中,Go浪中没有这个前加加。同样道理,前减减也没有你这个I减减这样操作它是没毛病的,这样没毛病,但是你看我我一保存啊,这个地方它会提示错误。这地方它会打出一个红色的波浪线,但这没有,同样你浅减减它也不允许。这也是错误的,为什么呢?就在勾勒中没有前减减,就你的减减减操作不能写在变量的前面。
11:03
他只有后操作,你看这个地方会提示一个错误信息。对吧,诶为什么这没提示啊。那我把这个注销一下。看下面这个错错误没有。你看这么是不是也错了呀,所以说同学们看到这两种写法都是不对的,知道吧,这是错的啊,这错这个是对的,这个是对的,后面的操作没毛病,那么我把这个呢,给同学们也截个图做一个说明。这块是不是感觉到很奇怪是吧,但是他就是这样用的,你必须去接受它这样子,这个是错的。这个是对的啊,这个没问题,这个也没问题,这个也是错的。好,我把这个错误呢,也给同学们放到笔记里面去。案例写到这儿来。OK。最后呢,我总结了一句话,同学们注意看这里一句话什么呢?勾当的设计者,去掉C或者加加中的自增自减的容易混淆的写法。
12:07
让高钠更加简洁、更加统一。强制性的。就是功能设计者,他本身就像设计成一种,大家不要去把这个代码写的,呃,容易混淆,或者是容易让人产生歧异的那些,那些地方他尽量给你避免了,所以他在这里呢,你可以认为他做了一定的简化操作,能理解吗?我把这句话放到笔记里面去。那现在呢,关于它的使用的细节的五点我们就说完了,我们乘胜追击,我们来做两个小练习,大家看。课堂练习一这是一段,这是一段代码,这又是一段代码,我现在请问同学们先想一想啊,问这个I的结果是多少,为什么?想一想。同学们动动脑筋,这种操作行不行呢?你看这个操作肯定一把叉,所以说根本没有什么结果,代码直接是错的。
13:03
编译不通过。再看这。I int等于十,然后呢,这句话肯定是没问题的,但是呢,它进行了一个I加加跟十进行比较,他说我加加完了过后对进行比较,看看是不是OK的,这句话在这。也是错的,为什么?是不是他也违反了I加加,它是怎么样啊,它是要要独立使用的,就这两种写法都是错的,也就是说这个地方是错的,这方也是错的,能理解吧。好,那么我把这个呢,也给同学们放进两个,上面两个代码都是错的啊,就是我结束一下说这地方是错误。晓得。上面的代码。上面的代码。是错误的,主编译不通过,编译不通过。那么哪里错了呢?就这句话错了。这个是错的。对吧,再再看这里,再看这里,同学们上面的代码呢,也是错的。
14:09
错的。哪里错了呢?其实就是这句话,I加加大于十,这是不允许的。也是编译不通过,编译不通过哪里原因是他做了I加加大于十的操作,呃,比较这是不对的,因此错误的原因我也给他写出来了。好,同学们,关于这个课堂练习呢,我们就先说到这里,我们把它放到笔记里面去。这是课堂练习。课堂练习呢,我们整理到笔记这来。这是我们的标题三对不对?标题上。也。标题三呢,我这做了,呃,刚才的一个整理,这是我们课程练习一对不对。把它呢放到笔记里面来,这是我们课堂练习一哪里错了啊,大家看老师呢,把这写的很清楚。
15:05
你也知道为什么?放到笔记里面,这是我们的课堂练习。那么有课堂练习,一就意味着可能待会儿老师还有课堂练习,二是不是我们多做点题,加深他的理解?好,同学们,那么关于这个我运算符的使用注意事项和课堂练习一,我们就先给大家介绍到这里。
我来说两句