00:00
好,同学们,那下面呢,我们来继续学习一下这个构语言里面的转义字符。同学们看一下啊,转移字符,那为什么要学一下go语言的转移字符呢?因为后边我们用go语言来编写一些程序的时候啊,那么我们会涉及到转移字符的使用,明白这意思吧,所以说呢,我们来看看转移字符,那转移字符的用英文来说呢,就是呃,Escape escape char。啊,那么呃,我们来看看go语言常用的转移字符呢?主要有五个。主要有五个啊,分别是制表符。然后呢,斜杠斜杠N就换行符,还有个是两个斜杠,这个第一个是注意啊,所以转移指的是这个。就是第一个这个斜杠表示转移。如果你没有这个斜杠的话呢,这个T就是一个T,就是一个字母T,如果有这个斜杠,那么这个T呢,就变成了制表符,也就是说这个斜杠能够这个斜杠就代表一种转移,明白意思吧。
01:03
好,那么常用的就是这五个啊,一个是制表,一个是换行,一个是这个这个两个杠的,还有一个呃,这个双引号的,还有一个斜杠二斜杠R是换,呃回车,好,同学们,我们来每一个给大家举个例子。说明一下。好,我们来看一下啊,就是。Go语言的。Go。语言的转译字符。转移支付。好,转移字符呢,这个英文叫escape。Chap。好char好,那现在呢,我们来把这个给大家罗列出来啊。那我们看看常用的转移字符有哪些,我们走一走啊。常用的说明一下啊说明。常用的。
02:00
常用的转义字符啊,字符有如下,那么每一个呢?我们都做一个案例,第一个,第一个转移字符叫斜杠T。啊,这个代表一个什么呢,表示啊。表示一个什么呢,制表符。制表符,那么通常用它来进行这个排版的通常使用它。可以排版。啊,排版就是对齐啊对齐好,我给大家举个例子,那么举例的时候呢,我们这样子安排一下这个项目的结构啊,同学们注意听。嗯,大家都知道,我们在讲课的时候呢,是按照这个章节来讲的,比如说现在是讲的第二章,看到没有第二章。那既然是第二章呢,我们在组织这个结构的时候,干脆我们就写一个,呃,写一个这个新的一个文件夹。啊,把它当做一个项目,就是每一个章节呢,我们建一个目录,明白我意思吧,所以说我在这呢,新建一个文件夹,叫我们的第二章character。
03:11
开零二。OK,这是我们的第二章,在第二章里面呢,注意听,第二章里面呢,我们讲每个案例再建一个子的。这个文件文件夹啊,在文件夹里面再建我们的这个真正的文件好不好好,所以说呢,在这个开二里面呢,我们再建一个文件夹,这个是开里面的转义字符的案例。Escape。Escape对吧,Escape。好,这样子呢,再把我们的文件写到这里面去,明白吧,这样子我们就比较好找,好找我们这个文件了,明白这意思吧,好,这边就可以建我的文件了。点够啊。好的,那现在呢,我们来看看转移字符的使用。
04:01
Package。没。这个字体大小应该看起来比较舒服吧,啊,打包。然后呢,Import我们的一个格式化的啊,就是我们格式化的这个包,这是引入一个fmt这个包,这个包里面有什么内容,我们后面再详细的说啊,它主要用来做格式化的。输出的啊,这个包里面FT这个包中。包中啊,主要提供。提供什么呢?提供格式化。格式化。和输出输出输入啊输入的这个函数。好,主要是用它做这个的,它这里面还有这些函数,那现在呢,我们来写一个function。Funk。包起来。好,我们来演示,演示什么呢?这个转义字符的,转义字符的使用明白,好,我们先演示第一个案例啊,每一个呢,我举个例子,大家一看就明白了,Print。
05:05
LN。好,同学们看。比方说,我在这里写了一个这样的东西,叫汤姆Jack。我希望它中间有一个转移,比如说有一个这个斜杠,这个斜杠T代表制表符啊,我们来运行一下,看一下是什么意思啊,就说有这个斜杠和没有这个斜杠,它区别在什么地方,我们跑一下。DR。我们进入到。诶,我们退回来啊,退回来DR,我们现在进入到哪个目录呢,就是。零二,这是零二是我们第第二章里面的案例,我们都全部放到这里面,明白我意思吧,CD cap,那么大家看到老师现在用的这些指令,像CD啊,DR这些指令呢,我后面专门有大概有半个小时专门讲一下在到时的一个命令,比如说后面我专门会给大家讲一个这个东西,大家看这里。
06:01
会在这个地方啊,同学们看。会在这个地方我会专门给大家讲解一下道士的一些命令,了解一下,现在呢,大家可能呃,有些初学者不太知道CD表示什么意思,对吧,DR的表示什么意思,不要着急,我后面会专门的给大家讲一下。但这个不是重点啊,这个不是重点,你看一下老师怎么用,基本上也也能够跟着跟得上这个思路。好,我进到这个目录去了,DR,大家看,这里面有个escape,这我进到这个目录里面去啊,Escape。好,DR大家看,这里面就有一个main.go对不对?好,我直接go run一下。运行一下看效果。好,同学们看到这里面呢,发现有一个错误,对不对,他说。Package发现有什么问题,我们打开看一下哪里错了。保存一下。好。保存,那么这个错误的原因是什么呢?
07:02
错误的原因是什么呢?我们来看看他的提示信息。他说这个go,期待一个package。放的。E of,那这个问题我们来看看到底是怎么导致的啊,怎么导致的,来看一下它的运行效果。好,同学们啊,刚才这个原因大家看其实没有什么错误,就是因为我们没有保存对不对,你看我把它保存一下啊,保存一下我们再来执行一下,没什么毛病再弄一下。大家看没错啊,没错,套模扣一个制表符,Jack没毛采吧,那如果说我这儿没有这个斜杠呢,大家看,如果这没有这个斜杠,你们会看到它就是就输出一个真正的T,大家感受到。转移支付的效果没有,就说带上这个斜杠。就代表一个转移,这个T就代表。一个转移制度叫table。好,这是第一个转移词,继续使用,下面呢,我们再来看第二个啊,我把这个案例给大家放到这儿。
08:05
低干力。好,把它放到这儿。这是我们的第一个案例,就是table啊,斜杠T制表符的使用,我们再来看第二个同学们,第二个第二个呢也非常简单啊,第二个呢,大家看到就什么呢。就是这几个咱们就一起演示了啊,不一个个演示了,因为这个也比较简单。我就一次性的把这后面的四个呢,一次性演示一下来,把这个粘过来。啊。这个懒啊。因为这个这个都比较简单,并不是一个很难的东西。如果是比较困难的地方,我会呃给大家说的更细致一点,这个比较简单,就演示一下就可以了。好的,那分别给大家演示这么几个,一个是换行符啊,一个这个这个啊,我分别演示一下,大家看一下换行符的演示啊,走F mt.PT。
09:03
换行,比如说这有一个汤姆啊,叫叫这个吧,叫哈。然后呢,写个N。Word,那么你们猜一下这个会怎么样啊,这个斜杠代表换行,那就说哈,输完了以后呢,换行再输出word就这意思。咨询一下吧。大家看是不是有道理啊,你看哈,完了过后换行输出word,就这意思,我们紧接着再来看下面几个案例。mt.print点,比方说我在这里有一个路径。大家看。我想输出这个路径。看清楚没有这个路径。我复制一下。我复制一下,然后我把这个往这一粘。同学们看可以看到啊,如果说我像这么去输出,我们先来看看此时此刻它输出的是什么效果。来,走一个。
10:00
我们可以看到出现一个问题了。对吧,他说这个character in escape是有问题,这个S是有问题的,说白了就说你看这已经报错了,为什么?因为你这个斜杠,一个斜杠在这里,他不知道什么意思,那你怎么样才能做呢?好转一下E。就是说你本身想把这个斜杠输出,但是因为你只有一个斜杠,它无法转移,所以说两个斜杠,第一个就是转移符。第二个才是我们真正要输出的路径的分隔符,明白吗?好,所以说我把这个都加上,你们再来看一下效果。好,我保存过后,你看这就没有报错了吧,我再运行一下吧,看效果。好,同学们可以看到此时此刻它就输出来,但是你们有观察到啊,它输出的只是一个斜杠,为什么只一个呢?因为第一个是转移,就告诉我们的编译器说,注意啊,我的后面这个是当作斜杠输出,第一个是代表转移,如果我没有这个,它就会报错,明白这意思吧,好,就是转移的,我们再来看双引号,比方说。
11:08
我们假设要说出这么一句话,就说。你好。就是张汤姆说。汤姆说,说什么呢?他想把内容用双引号引起来。说。我。I love you比说I love you,你看这个时候已经编译不过去了。也就是说有时候我们希望输出的这个字符串里面呢,就带有双引号,明白吗?但这样你肯定是输不出来的,你看这样一执行,它会报错。对吧。他不知道什么意思好,怎么办,老规矩转移。一样的原因啊,我就不再解释了,不再解释了,来跑一个。你看这个时候他会把双引号输出来,他说汤姆说I love you对不对?没问题吧,紧接着呢,我们再来演示最后一个。
12:01
最后一个呢叫做回车啊,这个呢,稍微有点不好理解啊,斜杠R是回车。它代表一个回车,什么意思呢?举个例子,大家看一下就知道了,比方说我这里有这么一句话啊,我就推过来了,天龙八部,雪山飞虎,张飞。大家看一下它会输出什么内容。这个回车的意思就是啊,我先我先运行一下吧,运行一下你们看啊,啊运行一下你们看一下就知道了。执行。大家看。诶,你看他输出什么东西了。跟我们想的是不不太一样啊。你看啊,同学们。他输出的是你本身想输出天龙八部,雪山飞狐。但是他叔叔是张飞。八步雪山飞虎。为什么呢?原因是这样子的,因为这个回车就代表什么意思呢,就是代表。我先输出前面的内容。
13:00
然后。回车了,过后不换行。注意这个回车它不是换行啊,他把张飞。就写在你已经输出的字符串的最前面。给你替换了,就相当于说我我这个张飞就是顶头,从最前面再输出,你原先有什么内容,我就给你覆盖了,明白意思吧。诶,就这个意思很简单啊,我就说一下回收就是什么呢,就是从。表示从当前行,当前行的最前最前面顶头啊顶头。顶到这个前面去,最前面啊,当前行的最前面开始输。呃,开始输出输出覆盖掉,覆盖掉以前的内容。以前的。以前的内容。明白意思吧,比如说你原先输出了天龙八部,那我再输出张飞的时候呢,这个张飞就会在当前行最前面输出,替换掉以前那种替换到谁呢,天龙。
14:07
因为我张三刚好是呃两也是呃也是两个汉字就把你替换了,对不对,那如果说说老师,那如果是张飞。张飞厉害那会怎么样呢?那就会张飞厉害就会替换天龙八部这四个,因为你刚好四个字对不对,所以说这样子就会替换成这个东西,你看运行一下,你看这就是张飞厉害,雪山飞虎好,我就讲到这里啊,就是替换,那关于这个。我们转移字符的这五个常用的呢,我们就说到这里,我们先给大家把它放到这来,然后我们做一个题,做一个练习题啊,案例我要写到去。案例截图。好,比较简单吧,这个并不难,对不对,好。我把它放在。笔记中去。
15:01
哎,你们看一下这五个用法。放好了啊,那明白这个转移符过后呢,我们现在呢,来做一个练习题,我给他布置一个课堂练习啊,请使用一句话输出下面的这个效果,就是用一句话,用一句话输出这个姓名,年龄,籍贯,住址,然后郡12,河北和。和北京就用一个输出语句啊,用一个输出语句。一句输出语句不能给我输多个啊,你说我输两个那就不行,我们要一个语句,大家先想一想怎么做啊,大家先想一想怎么做好,我把这个课堂练习呢也写到这来。转移字符的。课堂练习。课堂练习好,我把它放在这里了啊,放在这里了。课堂练习。好,这个地方我们就不用第三号标题了,就用一个。
16:03
这样的东西啊。课堂练习,课堂练习的要求对吧,刚才老师呢,已经说出来了。好的,那同学们现在思考一下吧。大家五分钟念一下啊,五分钟念一下。好,给大家五分钟。好,那这样子啊,呃,因为我这块呢,也不想再等了,所以说嗯。我就现在呢,就跟大家一起来完成一下这个作业啊,作业点评吧,我们来完成它。好作业点评。作业的一个评奖对吧,评奖我们直接看代码怎么写就行了,好一句话怎么写呢。首先我们看它是姓名、年龄、籍贯、住址,这是一句话,是不是中间用什么来间隔呀?是不是用我们的这个制表符,然后一换行,是不是用斜杠N就可以了,是不是还是很简单吗?好,那么我们再写一个新的文件啊。
17:07
做一个新建文件。好,叫练习。C201。Go。好,那现在呢,我们把它的这一部分先把它粘贴拷贝过来。我不想重新写了,对不对。好,然后复制一下,复制过后呢,同学们看到啊,在这里我们去把这个。换一下。我们看这要求。啊,这个要求。要求是什么呢?同学们看一下啊,要求是输出一句话。好,我把这句话写到这里来。大们一起来写写ft.P2T。好,首先是姓名。斜杠T对吧,然后姓名年龄。
18:04
年龄对吧,写跟T,然后又是什么呀。姓名、年龄、籍贯,还有住址,姓名、年龄、籍贯。对吧,然后写成T地址。然后呢,不要换行啊,不要输出第二句话啊,马上换行斜杠,恩。斜杠是不是换行啊,然后是这姓,呃姓名这写错了。姓名对吧?好,开始写John。然后呢,再一个斜杠T年龄,比如说20吧,再一个斜杠T制表服,然后呢,籍贯比如说是北京。啊,籍贯是我们看他写的是什么呀,按照这个写吧,河北好,籍贯是河北。河北,然后呢,再写个T什么呀,住址是北京。
19:00
好,同学们,这句话就写完了,我们来执行一下。是吧,我们直接运行哪一个呢?我们看这边有有问题啊,看代码有毛病没有什么原因。好,我们看到这里面的原因啊。大家解释一下,这个时候有个什么问题呢?就说我在这个文件里面有一个闷,在这里面又有一个man,这就出问题了,因为他们现在在同一个包,诶我们就故意犯这个错误了,你看啊。你这个。XEX01和main都在同一个文件夹下面去,其实它呢是属于同一个包的,而且你看啊,你这是面包。我这儿也是一个面包,在同一个包下面有两个main函数,这就会提示什么呢?重复定义。看到没有,是重复定义吧,你看我把光标移动到这里,看这写may。Rided,你注意看这地方啊。从may clear in this block就说在什么什么地方已经声明过了,那你两个就不行,怎么办呢?好好办这个呢,这个时候我们可以这样处理啊,同学们注意听。
20:09
遇到这种情况。我们必须要。重新来一个包。但是呢,在购员里面,他要求。如果你的这个。函数是命,函数就必须在面包里面,所以说这个时候我们没有办法了。就是没有办法,你不能说我换一个包,换一个包也不好使,怎么办呢?咱们只有重新建一个文件夹,明白吧,重新建一个包就相当于说如果你学过Java的话,就好像说在不在同一个包里面不能有重名的。明白吧,所以说这个时候我怎么办呢?各位同学,那现在呢,我们新建一个文件夹就可以了,比如说我把这个链文件夹练成叫做EXE,明白吧,EXE这个包,比如说p package这个包。
21:01
这个文件夹吧,Package。Package。练习这个包,然后呢,我把这个文件看清楚了啊,我把这个文件挪到这里面去。移动到里面,好,同学们看,这个时候大家看啊,你这个这个main.go和我的这个EXEXE01这两个文件呢,就不在同一个文件夹下面了。不在同一个文件夹下面去呢,他们所在的包也就自然的不在同一个包了,虽然你都叫妹,但是这个不影响了啊,不影响,所以你看我再来保存它就没毛病了。保存一下。大家看。诶,为什么他还在提示呢。点斜杠。好,我们来看看这是为什么啊。好,同学们看一下,这是这个原因,嗯,其实这个地方是没毛病的啊,你看我保存它确实又不变,这是为什么呢?因为这个编译器啊,有时候他不是想的那么智能。
22:04
我们把这个文件稍微改一下,动一下它就它就能变化了啊,比如说。比方说我我我把这个地方这个名字啊,我把地方加一个这个波浪线啊,比如说我这样子啊,我就稍微的改改动一下。我改一下再保存,你看这就没没错了,就这个编译器呢,有时候有点有点傻,明白吧,他有时候他有时候他发现你这个一挪动,他还在把以前那个错误给保留下来,所以说你稍微的把这个文件动一动,然后再一保存,他就没毛病了,明白意思吧,OK,明白明白这个吗?好,现在呢,我再说一遍,刚才没有错啊,主主要是因为这个编译器它没有那么。那么聪明,他好像他没感觉到你的变化,所以你稍微把这个文件就稍微的这样动一下,再保存一下就好了,那现在呢,我们再来运行一下这个代码,看看行不行。好的,来,我们切换到这个目录下面去。好第我们发现这里面有个新建的p kg package啊,Package这个EXE包,我们进到这里面去package。
23:08
进去了啊DR,然后呢,我们来运行这个e e0go run。Exec,你跑起来。好,同学们可以看到呢,此时此刻啊,我们发现它输出的内容就跟我们想的是一样的,对不对。是吧,好,我把这个代码呢,给大家放到笔记里面去。好,这人在吗?我们放到笔记里面去。好的。这些作业评奖,我们把它放到这来。好,我插入一个表格吧,这样好看一点啊。插入一个表格。好,代码放这就行了。好,这个往这边稍微挪一下啊好,这是我们这个题作业的一个评讲,那大家现在呢,呃,去简单的看一看这个转移字符是怎么使用的。
我来说两句