00:00
那现在呢,我们再来给大家介绍一下go的这个编程的一个规范和代码风格好不好,我们来看一下啊,正确我们要写出这个规范的代码,那么有几个地方是需要同学们掌握的,第一个呢,就是需要有正确的注释和注释的风格。在go语言里面呢,它官方推荐尽量使用行注释来注释整个方法和语句,那么大家来看一下源代码,刚开始我们打开源代码了,看到没有,这个是go里面的一段源代码,我们往下面一拉,你会看到它的这些注释几乎都是用的行注释。你看啊,几乎都是行注式,看到没有,很少看到块注释,因此呢,我们也可以借鉴它的这种这种这种方式,就是尽量用行注释来写,来对我们的代码呢进行注释。啊,这点大家知道就行了,好,我们把这个写到这里来。好规范的。
01:01
好,我这儿拉一拉啊。叫。规范的什么呢?规范的代码风格。对吧,代码风格。好,把它整理到我们的笔记中。第一个是什么呀,第一个就是刚才老师所说的这个问题怎么样要有正确的注释和注释风格。就是,呃。官方呢,他推荐我们用这个行注释来注释。这个源代码大家刚才也看了一眼,对吧,确实是这样用的,这第一个要说的,第二个呢,同学们要注意的是要有正确的缩进和空白。要有正确的缩进和空白,你比如说吧,同学们看。看这里。比方说我这一段代码你看都有缩进,你不要这么写啊,同学们你看你别整体实时的堵在这一起,那这样看起来非常的不好看,对不对?所以说呢,我们要有正确的缩进,比如说这个你选中table键对吧,这样子看起来多方便呢,它有正确的缩进,代码看起来就比较清楚。
02:11
比较清晰,所以说呢,在我们这个里面呢,它要求有正确的缩进,还有这个空白。啊,那有些同学老师,那这个缩进怎么缩进呢?我给大家演示一下它的使用啊,比方说同学们看。假设这个地方顺序有点乱了。我怎么处理啊?首先我把这些全部选中。注意看,然后呢,我按shift table键按这个啊,Table键整体向左移动。啪啪,诶,整体向左移动,移动到位了,过后再按table键,整体向右移动。好了。好,第一种方式就是使用我们的table键来实现这个缩进。
03:01
按一次table就整体向右移动,按shift加table整体向左移动完事。第一种啊,第二种说老师我不想用这种方式,我用什么其他方式行不行,还有一个叫勾。Format这个命令也可以来完成格式化,我给大家演示一下。比方说吧,还以刚才这个为例,还以刚才这个为例,比方说我这个代码呢,这。这儿瞎写的。很不好看,你看我怎么处理啊,打开这个地方。我给大家演示一下。我给大家演示一下啊。嗯,怎么用呢?就用fmt。啊,Go for match,然后may.go回车,你看。当你一执行过后呢,你会发现诶。格式已经不像刚才那么乱了。你看这明显它对齐了是吧,对齐了,但是呢,我们发现诶这个文件没有变化。
04:01
为什么呢?因为你这样子啊,注意听你这样写的话呢,只是呃,把这个格式化过后的输出来,但是没有真正的把这个。把这个格格式化的这个文件再写进去,所以说呢,要使用这个指令。杠W这个指令好,这样呢,就把它写进去了,写进去过后我们再来看这个文件啊,你看我们把这个文件。切换一下啊,要重新打开,我我我把这个文件打开,再重新打开它,你看。对对齐了吧。好,所以说这两种方式呢,大家都可以用啊,都可以用好,我把我把这个呢,笔记先补一补啊补一补。第一个我们讲的是正确的缩进和这个是吧,诶把粘过来。把这干脆把这个整体啊,咱们都把它拿过来就行了。正确的缩进和空白。好,我把这个代码稍微的整理一下,标题三。第一个。
05:01
第二个。对吧,第三个我们讲的是空格。这个问题好呢,第一个呢,这个刚才演示的案例已经演示过了,我就不再多说了啊,这个看老师的演示。对吧。的演示,主要搞懂table键的操作,还有一个就是shift table键的操作。另外呢,就是这个格式化,格式化我是怎么用的呀,两个重要的指令。第一个指令就是刚才老师写的这个。Go for me.go这个呢,只是把格式化的东西输出来,而这个go format-R呢,会把这个。会把你这个格式化的东西再重新写进到这个文件,就真正的格式化了,好所以说我把这个呢,也给大家拿到笔记里面来。一个是这个。对吧,一个是这个。啊,第二个呢,这个指令,这个指令我简单的解释一下啊。
06:02
这个指令的作用是干什么呢?该指令。该指令可以可以将格式化的。格式化后的这个内容重新。重新写入到。重新写入到文件。写入到文件。OK,当你打开重新打开这个文件的时候,你会看到新的格式。当程序员。程序员重新打开该文件时,该文件时就会就会看到看到新的这个格式化的,新的格式化后的啊,格式化后的这个文件。这就是我们想要的效果嘛,对不对,好,我把它呢,也放在我们的笔记中去。好,这是需要同学们注意的,第三个运算符的两边就是我们一个正确的这个编码风格啊,运算符的两边习惯性的各加一个空格。
07:07
你比方说吧,你要写个A加四乘以五,那么我告诉大家,运算符两边都要加个空格,我举个例子。比方说。我这里有一个这样的预算,VR。我第一个变量叫number。等于多少呢?等于二。加四乘以五,大家看这里,你看我这里都有空格,这个就是我们的一种编程的一种风格啊,就是呃,实际上它的源代码也是这么去写的,如果你有兴趣,你打开它源代码,你会发现它几乎也是这样做的,我出一个加号。大家看。不要走啊。我要走。它的运算符啊,你看这里,你看它也是这样写的,看到没有,其实这方应该更好的方式,应该打两个这个空格更好啊,但是他没写,其实按理说应该是打开的,但是你看这等号两边它确实给空格了,加号也给了空格,对吧,加号也给了空格,好,那所以说呢,我们也可以按照这种方式来进行这个。
08:12
这个编写我们的代码。好,我把这个呢也给大家写到这里面去,养成这个好习惯啊。好,我把它放到这里,这是我们在写这个运算符的时候,应该怎么去写。好,把它放到这里。养成一个好习惯,那下边呢,我们再看最后就是一个代码风格的问题,在我们的购物语言里面呢,它不允许这种这种方式啊,大家要注意。我们以前呢,其他的编程语言,语言里面啊,包括Java呀,C呀,包括PHP啊等等,它都允许这样去写,但是在go语言里面呢,它。不允许这样去写,原因是什么呢?他认为这个设计者啊,他是这样认为思考的,他认为。
09:00
有些人喜欢这么去写,有些人喜欢这么去写,导致没有一个标准,就是。就是就是感觉好像好像。好像就是有两种风格一样,而我们的这个,呃,构员的设计者,他他是怎么思考的,他认为最好是一个问题,只有一个解决方案,他是提倡这样的啊,就是设计者的一种思想是。注意听我这句话啊,设计者,Go语言的设计者,他有一个思想。它是用什么一个问题。一个问题,尽量尽量只有。只有。一个解决方法。啊,他尽量是这样子的,这样子的话呢,就是要求我们强制每个程序员就只能写这种风格了。那你想着写这个风格,你看他也不允许,诶这样子呢,大家风格反而就怎么样都统一了,我就不跟你废话了,对吧,你也不用去问,诶我到底是这样写还是这样写呢,不管,因为他只有这种写法才是合法的,那我给大家演示一下。
10:05
然后说吧,大家看这样写是没问题的,但是我一换行。大看代码就错了。大家看这里错了吧,他认为什么呀,你没有这个方法体。总而言之,他不允许,对吧,所以说我又回到原先说学编程的一种方式,就说我们始终是在考虑别人怎么思考,而不是说我们认为应该怎么样,对吧?那么设计的就这样设计的,那么我们就遵守这个规则就可以了,很简单啊,所以说不要这么去写,我把这个案例放到这里来。好,我把这个编成风格啊,就是。就是go语言。go语言。的这个代码风格。代码风格。代码风格啊,哪种是合适的,哪种是允许的,哪种是不允许的,我把它写到这一栏。
11:00
好,大家看这里第一个啊,就是同学们看到的这个方式是可以的。啊,这个方式是可以的,而这种方式呢。这个。构语言是不允许的,他认为这种写法是错的,好吧,好,我们就简单的把它写到这里来就可以了,把它放到这儿啊。这种写法是OK的。诶,这种写法是对的啊,这个是可以的,上面的写法是OK的。上面的写法是OK的,是正确的啊,是正确的。没问题,这个它允许,那么下面这个写法呢,大家再看这个写法,它就不允许了。这个代码我也把它放在我们的笔记里面去啊,同学们看一下。这种写法呢,它就不允许了。啊,他认为这个写法它是不合法的,就上面的写法不合理,这种写法不对啊。
12:00
写到这里了。呃,上面的写法。上面的这个写法不是正确的。不是正确的C语言啊,Go语言啊,Go语言,Go语言不允许。允许。允许啊。允许这样编写。为什么呢?因为构言他是他就是这样规定啊,他就这样规定的,因为我们说了原因就是什么呢?就是一定要问一个原因的话,那么构设计者他的一种思想是什么呢?他的一个思想是。对吧,他的思想就说,诶那一个问题呢,咱们就尽量只有一个解决方法。哎,基于这种原因呢,他就保证我们只能这样去写,下面这个写法它是错的。好,我把它标红。好,这是我们要说的这个第,呃第四点,那么还有一个风格啊,同学们要注意一下,嗯,在构语言里面呢,他建议每一行不要超过80个字符。
13:02
超过了呢,要求用换行来展示,尽量保持代码的优雅性。就说我们这个代码如果很长了,就是这句话很长很长了,对不对,你就不要。使劲的往后面写,打个比方吧,我给他举个例子。点print,假设我们这要输出一句话叫hello。Word OK,好,这个时候你怎么呢?讲这句话很长啊。这是很长,你想一想这个东西看起来就怎么样,很乱了,看到没有,是不是很乱啊。很乱。那这个时候你你想一想,这个东西往这边后面看,你自己看起来也难受吧。你是不是看起来也难受对吧,很难受怎么办呢?咱们换一行,但是这样换一行啊,还不好使,对吧,这样换一行还不好使,咱们得想什么办法呢?咱们得想其他的方法来解决这个问题啊,这个案例可以这样去处理,比如说。
14:05
我们再举一个例子吧。举这个例子。好,我们来看看,如果是这一辆要换行,咱们怎么处理。好,我们看看啊,如果说你这么长怎么办呢?它每个都有一个方案,比如说在这个地方,我们可以这样去处理啊,大家可能现在还没学,你先听一耳朵打一个逗号。换一行。好,假设呢,我这又还有很多,怎么办呢,又换一行。好,假设我还有。接着我再来。打分号。再来,这还有怎么办呢?接着换行。他总是有方法的啊,总是有方法的再来。啊。走换行好可以了,你看这样子的话呢,它通过这个逗号的方式把它连接起来,这个逗号有点类似于啊,有点类似于咱们以前那个输出的时候,用那个加号的方式把它连在一起了,那这个时候呢,你看你输出它仍然可以输出一大坨。
15:05
来看一下,来走一个go run什么呢?命点go走。对吧,还是可以输出来嘛。对不对,还是那输出的时候,因为你没有这样换行,那就他就看不出来,如果你想让他换行,你也可以用这个西杠N对吧,你你说诶我输出的时候也要换行,怎么办呢?你一给我打西杠,恩,他就换行了。那么我们刚才学的这个转移字符呢,就发挥了它的作用,你看我再来跑一遍。走你看这样子,它就输出的时候也换行了,对不对,就比较好看啊,就比较好看,好这次我们讲的这么一个细节,一行最行不要超过80个字符啊,尽量保持我们代码的优雅性。第五点。站到这里来,我也举了一个例子啊,举例说明。对吧,我举例说明了一下。那这个案例呢?我把它也放在我们的笔记里面来。
16:03
好,这个笔记当时我们是写了这么一个小案例,对吧。好,我把这个给大家截一下图。你看这个地方我们就。就是通过这个逗号的方式把它换行来输出。好,放这里了。好,同学们,那关于规范的代码风格呢,我们就先给大家介绍,这里有几点大家需要注意的啊,我刚才已经讲过了,第一个注释尽量用行注释来做,第二个呢,咱们要有正确的缩进和空白。第三个注意听。就是运算符两边要习惯性的加一个空格,加两边都要加空格,这样看起来就比较清晰,还有一个很重要的地方,就是go语言的这个风格呢,这个他要用行这种风格啊,就是大括号。
17:01
要写到命函,就函数的同一行,你不能这样写,你这种写法呢,他就在我们的构语言里面,他认为这种写法是什么呀?是错的,没有办法,还有呢,每一行最好不要超过80个字符,超过了的话,咱们用换行的方式来展示,OK,好,这个我们就先给大家介绍到这里。
我来说两句