00:00
各位同学大家好。我们呢,刚才讲了基本数据类型转成十寸,那反过来。我们在开发中呢,也会遇到将十寸数据类型转成基本数据类型,对不对,那同学们想啊,我们把十寸这个数据类型转基本数据类型呢,我们也要用convert包里面的函数,注意啊,像这种这种方式呢,就是有些编程语言它是比较简单的,它直接用个加。或者是一个很简单的操作就能转,但是呢,Go这个语言里面啊,它在转换的时候都会用到函数,所以说这块呢,如果没有同学们没有接触过函数的,就说如果你现在正在听韩老师的视频,你没有接触过这个函数呢,你也不要着急,你先你你甚至这个地方先可以跳过去都可以。啊,但是如果你已经知道这个函数概念的同学呢,就比较轻松了,因为后边我有一个,呃,就说你没有学过函数的同学,如果真的是纯的零基础同学,这听起来有点小压力啊,因为我没有介绍函数,函数呢是准备把这个就是呃变量讲完,再把那个运算符讲完,我们才讲函数对不对,所以说这个地方呢,你如果听不懂也不用特别着急,为什么,因为后面函数我会详解,你现在呢可以听过,大概就说你知道这两种数据类型在转的时候,我们用到了什么东西就可以。
01:28
后边呢,我们还会专门讲函数这个章节,函数内容挺多的,包括B包,匿名函数等等等等,好所以说这个地方呢,大家如果说没有基础同学,你也不用特别着急,你就先听着,后边呢老师会详细介绍知道啊好,现在呢,我给同学们讲一下市政这个数据类型怎么去转基本数据类型来跟着思路。好的,那现在呢,我把这个放到这里来,给他一个标题三。OK,好,我们先来看它的基本介绍,这个时候呢,我们用的是这个寸cover的包里面的这四个函数啊好,我们使用的是什么,先做一个介绍啊,使用的是。
02:14
使用的是covert包的函数。对不对,哪些函数呢?听我说啊,重点就是这么几个函数。诶,重点就是这么几看书,刚才老师呢已经列出来了。好的,列出来啊。呃,OK,我先放到这里来。那这些函数在哪里去查找呢?同学们打开。我们的这个。手册同学们看在这里啊。啊,呃,刚才还有一个函数,呃,我忘了说了,有一个特别好用的叫I to a,这个就into a的意思,这个函数呢,可以直接把一个int转成四五串,就前面。
03:01
呃,前面咱们不是在讲在讲这个讲这吗?我们在讲就是基本数据类型转时帧的时候呢,呃,我我在讲讲的时候漏讲了一个函数,特别有用的一个函数,我再补讲一下啊,就是哪里呢?就这个函数。就是cover string cover的这个包里面有I to a,这个呢,可以把一个int,大家看这里,它可以把一个int转成一个字串,非常轻松的就转了,我给大家再演示一下啊,我先补讲一个啊,补讲一个。这我再补讲一个方式啊,就是补讲一个函数。还有一个啊,呃,施政。施。Cover的这个包。包中包中还有一个函数,还有有一个函数啊包中。有一个函数叫I。I to a啊,比较好用啊,那我给大家演示一下就行了,同学们看啊,假设呢,现在我有一个整数。
04:05
我有一个整数,比如说是叫这个什么呢?NUMBER5。对吧,Int等于多少呢?等于比如说4567。167OK,然后呢,我要把它转成一个字符串啊,同学们看,十寸等于cover。cover.i。I to a,然后呢,把这个NUMBER5放进去就行了啊,这样呢,就把这个NUMBER5转成了一个,注意啊,还是老句话一句,它是把NUMBER5的这个值转成时尊,但NUMBER5本身还是一个int,能理解吗?这在前面我已经说过这个事情了啊不,这个大家应该很清,应该很明白的知道啊好,我们再来跑一个,看看转了没有。走一个。同学们看到。可以看到啊,4567转过来了,看到没有,那有些同学说老师你这样传的是int,假设我是INT64怎么办呢?各位同学,如果你是英特64,你用这个呢,它你看到啊,它可能会报错。
05:10
因为你64呢,传没法传给这个,传给这个int,那怎么办呢?还是用我们的转换啊,这时你就要用int把这个转一下,然后才能用这个方法。啊,这样也可以,你看这样也可以明明白的意思吧,啊这样也行,好,我把这个补讲的呢,也给大家放到笔记里面来。啊,刚才呢,我们这个这个忘讲了,所以说把它加进去啊。加进去。嫁到哪儿去呢?加到这儿吧。加到这就行了,好吧,没问题吧。可以的,放这儿。好,我们接着回头说,刚才讲的就是施政转基本数据类型的这几个方法来,为了仰视清楚呢,我们新建一个小包。哦,新建一个包包。
06:01
好,这个包呢,我们取个名字叫施尊。Two basic。Type。好,然后我在这新建一个文件叫main.go。好,同样道理啊。我把这个主体,这个结构先放到我们的这个。这个叫做十寸图。Basic这个这个文件里面去。好的,现在呢,演示构中的是准。师尊转成啊。做。什么呢,施准。转成我们的基本数据类型,对不对,基本数据类型。没问题吧,好,我现在呢,给大家做一个演示,再做一个演示,比方说呢,现在我有这么几个字符串,注意听我有个字符串啊。叫VR是准。
07:00
数据类型,我首先呢给大家演示,这有一个处。好,我要把它转成一个布尔值,你看我怎么写?首先我把那个包包引进去。这个包叫。是最cover的这个包。来转一转啊。那走吧,我先用一个不来接收。这有个B布尔。然后呢,B等于十寸cover点。对吧,刚才我们说它有几个方法,其中有一个方法叫pass。布尔。这个呢,用的是最简单的啊per对吧,Pass不。好,然后把这个把这个什么呢?十寸放进去就可以了,我们输出一下。好,我现在输出这个B的类型,先把它输出来。然后呢,把它的值也输出来,把它值B的值。
08:00
B的值就等于吧,好吧。我们按照它原生的格式,原生的值就默认的值输出B。好,同学们可以看一下此时此刻效果怎么样,点点我先,诶这有报错啊,看错误是什么地方。OK。我们看一下这个地方。它的使用要注意什么地方哦,同学们看到啊,同学们看这个函数啊,就跟我们使用以前的函数区别比较大了,大家看这里。这个函数呢,会返回两个值。我在第一天,同学们还记不记得我们在刚开始的时候就讲过,在这个构中呢,它可以返回多个值,那就是说它第一个返回的是布尔,第二个返回是个错误。那么这个时候呢,我其实关心的是这个返回的这个布尔值对不对,因此呢,我在接收的时候,我要这么去处理,同学们注意听这样子是不行的啊。
09:00
好,那怎么来接收呢,逗号。忽略一下再保存。大家看到这个时候,我们就没有报错了,这个意思,我先做一个解释啊,就是这个意思。表示什么意思?我跟大家做一个简单的解释。我做一个说明,注意听讲。说明一下啊。说明。好,我先说第一点。第一点就是这个函数本身会返回两个值。这个函数会返回两个值,哪两个值呢?哪两个值呢?就如同他的手册上写的一样。第一个值是一个,好,我们看看第一个值是。Birds,第二个是一个value。看到没有,它会返回这两个字。但是呢,我其实关心的是。
10:01
返回这个布尔值,对这个A呢,我目前不关心,所以说我用这个下划线来忽略返回的这个值。追星第二个点。因为,因为我关心的是我只想啊,我只想获取到。获取。获取到什么呢?这个value布尔。我对这个A不关心,对吧,我不想。不想获取,不想获取这个L,所以说所以怎么办呢。所以。我使用。我使用。注意听使用这个下划线。使用。这个下划线忽略掉。忽略。这个这个A,这就是这个这个用法啊,这是go浪的一种使用方式,大家注意一下就可以了,后面我们还会经常用,用的时候呢,大家慢慢就熟悉了。
11:03
好,这个时候我们再来跑一下吧。CD到上一层,我们是十寸。Two。顺便写啊,CD到上一级DR。CD到十寸。使准吐。好,然后DR,我们让一下,Go run me.go。跑起来看效果。好同学们看到这个时候呢,它输出来,诶大家看这地方输出来一个错啊,但是我这地方之所以没有,是因为没有用这个。格式化的啊。这样子就可以了,那重新在这,诶,我这还少一个字。对吧,一个是类型,还有一个值,别忘了输了走。跑一个。那么看这个时候呢,它第一个返回类型,它说是一个布尔值,第二个值就是出看到没有好大家看再看一下。
12:02
是不是类型是布尔只是处啊,是不转成功了,你原先是个字符串吗?我给你转过来了,好,紧接着呢,我们再来看下一个,下一个啊,比方说我现在呢,还有一个字符串,我要把它转成一个。别的值,比如说我有一个十寸二。这个字符串呢,比如说是一个整,是这样一个值,比如说12345。Julie。好,我想把它转成一个int型,大家看,比如说我有个NUMBER1,我要把它转成一个int型,那你看我怎么操作。好,非常简单啊,非常简单,还是老规矩,我们用十寸。是正cover.parse,然后呢,它有个int,这个int里面呢,有几个参数,我们来第一个参数,同学们看到就是。字算本身第二个贝斯,这个代表它是转成几进制的,如果你写二就转成二进制,写十就是十进制,写16就是16进制,明白B的size呢,这个就代表你这个转的时候啊,你这个呃是转成这个什这个就是那个。
13:17
呃,就是你是那个bit,呃三二的还是BIT64的,点进去看一下,来看这里。B的size子指定结果必须能无溢出的艺术整形,比如说零,86 32 64,看到没有,这个就是说你分别代表,如果写零呢,就转成int,如果你写你写这个八就是转成INT8,如果你写16,就这方写16啊,就代表转成特16,如果你写32,代表成,以此类推。能理解这意思吧,好,那现在呢,我这里定的是一个int,我就应该写零,是这意思吧,好,那我就写这样写啊,四寸先写进去,然后写个零。明白好,现在呢,我把它打印出来看一下。
14:01
看效果。同学们。好,同样我们说这个N1的类型是什么,然后呢,N1的值是什么,把它换成。这个东西。好,我要接收啊,我要把它接收一下啊,把它转了,我要接收,接收到哪里去呢?十寸。N1,同样,我忽略这个错误。他是一个道理啊。它是一个道理。好,把这个N12个N1输出N1N一看效果N1现在呢,是不是int,你转的int啊,好在这里看错有什么错误哦,还有一个进制,我们转成十进制的。对吧,有三个参数嘛。再说一下这个参数,三个参数的意思啊,一一个是。INT6,试试看,这有问题啊,他说。呃,他说不能够分配给64位的。64位的,那你这个地方看一下,这个地方我们这样做吧。
15:04
最软的64。这写一个64。好,我们再看一下。这个地方为什么报错,因为十寸二咱们没用用到啊,这样转十寸二,那这样就对了,这个意思上我再解释一下,这是转成十进制的。啊,转成64位的,因为我这64位就给它吻合了,对不对,就给它吻合了,好这样子呢,就没有任何毛病,那有些同学说老师假设我这个地方是一个特型又怎么办呢?好,我们看看in特型,按照他这个说法,按照说法你看这里写的很清楚啊,他说如果写零就代表是一个int。对吧。Int,其实int这地方应该是呃,零的话应该不是很合适吧,我试试看啊。写零看这样他能接受吗?看一下。那他这个不行啊,他这个不行。
16:01
好,所以说我们还不能这样去做啊,不能这样去做,那你很简单,你可以这样说啊,你还是写一个,呃64,咱们还是64吧,64转完了过后呢,你把它再转成一个int就行了,也可以这样子去操作。我们还是按照这个方式来写就行了,好,同学们,写完过后我们来跑一跑啊跑一跑,走运行。运行。看效果诶。同样道理啊,我们来个换行。你没有换行的话,这个就看起来很不舒服,对不对。再来看一下效果,同学们注意。看这里面啊,N1转成一个int 64位的,然后N1N1的值是这么多,没问题吧,那有一多说,我想把它搞成一个in,特呢,你把这个N一再转成int就行了,简单的很,比方说打个比方吧,我这里面还有个N2。是个int的,我想把这个转成int,那怎么办呢?非常简单吗?你这个N2就等于什么呢?来int把你这个N1转向,其实这个N2不就是。
17:09
不就就拿到了吗?是这意思吧,你看这就拿到了。这个NN2就可以用了,看这啊。啊,他说有一个值啊,这个要写反了,同学们注意听啊。这样子的包起来,这样写好。这就可以了,但是N2现在我没有用,他还会警告我,对吧,他说N2。Not used啊,Not used,你把它输出来一下。F走。我们写一个N2TYPE。百分号T,然后呢,N2等于多少呢?V啊,按原值输出,我们看一下N2是不是也是一样的。对吧。好保存一下,它就不报错了,来走一个看效果,同学们看。此时此刻,你看。N1是INT64 N2是六四,但是他们的值呢是一样的。
18:01
看到没有没毛病吧,诶这样子做一个转换就可以了。好,这是把一个字符串转成一个int,那下一位呢,我们再来演示一下第三个案例,就是如果我有一个字符串。是正等于一个这样的支付,比如说12.3456,好,幺一是123.456,我要把它转成一个float类型,那同学们看,现在呢,我给大家写一个案例,比如说F1啊,然后呢,我有个FLOAT64位。好,大家看,我现在要把它转一下啊,很简单,也是这样操作converter。然后呢,有一个函数。点炮。Pass float。Float。Float呢,注意听里面呢也有几个参数,我们来看一下哪几个参数,大家来看一看啊,Float第一个参数就是这算第二个。B的size b的size呢,一般来讲就是要么是32,要么是64,就这两个字,我们知道float就是我们的float型啊,在功能里面就这两种对吧,同样它也返回两个字啊,一个是转换过后的float。
19:13
64还有一个呢,就是转换过后的这个错误,对不对?好,那同学们注意观察,现在呢,我们这样子来接收一下F1多少忽略那个错误。等于把我们的值传进去,十正三六十四。好写完了,那写完过后呢,我们同样把这个书出来看一下。对不对,现在呢,我们看一下。这个F1它的类型是什么?F1的值是多少?看看他有没有转成功。一好,同学们,我们运行一小把。看效果,M发现F1。变成了。看F1是FLOAT64,它的值是123.456,没问题吧,好同学们,那现在呢,我们就把它的一个基本使用说完了,案例也是这样子的啊,案例也是这儿还有一个需要同学们注意的地方,因为返回的都是特六四,大家看这里。
20:17
因为它这个地方啊,Pass int返回的是64位,所以你必须用64位来接收,同样这个地方返回的值,看这里。好,我先退出去啊,你看这你看它返回的是64,所以说你必须用64接收,它返回的是INT64,所以说你也必须用INT64来接收,那因为反而的是INT64或者是FLOAT64,如果希望得到INT32 float32怎么办呢?转一下就行了,就跟我刚才演示的是一个效果,我拿到一个返回的。64位的,我把它转成一个三二不就完了吗。对吧,三二这个类型的就完了,同样我也可以把拿到的FLOAT64的转成一个什么呢。
21:04
转成一个FLOAT32位的,所以这个地方呢。转换的工作相对多一点。所以说在这里面再次体现出勾勒语言的这种他的语法的一种严谨,或者说强制我们必须怎么怎么做。啊,所以说如果你是以前学过Java,或者学过其他的动态。脚本语言,比如像PP或者Python,你感觉这方稍微麻烦一点,但是没有办法,Go语言的设计者他就是要设计的。他想就说我们都稍微严谨一点,对吧,诶稍微稍微这个严谨一点,说他是这么去设计的,所以这时呢,我们不得已就只能这么去使用了,好吧,好,那么我把这个案例也给同学们放到笔记里面来。好案例,这是案例演示。案例演示。好,我把案例演示呢,给同学们放到笔记中。
22:04
对不对。好,这是刚才老师写的代码。好,把这段代码呢给同学们整理一下。没问题吧?好,我们讲了几大块,大家看一下,这是第一大块。专布尔的。这是第二大块转int的。这是第三大块转float的是不是?好,把它放到我们的笔记中。第二个呢,还有一点说明。对吧,这还有点儿说明。注意的啊,提醒大家的说明一下,说明呢,老师在这说明了一个问题,什么问题呢?因为它返回的类型啊,注意看这FLOAT64和INT64,因为你所以说你接收这个它返回的值呢,只能是这个类型,因此那怎么办呢?假设我就要得到INT32怎么办呢?你再重新的转一下,就拿到这个值再重新。
23:05
给他。转换一下就可以了,能理解意思吧?好,我把这句话呢给同学们放到笔记里面来。就是说,如果我们希望得到。INT64 int32啊,或者是FLU32,或是int,或者是int其他的啊,比如说int这个幺六的。等等等等等等啊等等等等等,你都按这种转换就行了,给他拿过来转一下就行,对不对,这没毛病,因为我把这个大的呢转成一个小的,按理说你的小的只要能接受这个范围就没问题。没没问题吧,啊,但你要考虑这个范围的问题,所以如果说它本身这个in特六四就是很大的数,你非要把它放到一个in特三二去,那肯定要溢出,但是如果说你in特六四是一个数,这个数呢,它本身可以放在in特三二啊,那就没毛病。那就没毛病,那当然了,既然你本身就想把六四转成三二,那你肯定是这个三二可以接受64的这个数才行嘛,不然的话你转它干什么呢?那你不是吃饱了没事干嘛,对吧?
24:09
好,所以说这个地方呢,你自己要去在转的时候,要根据实际情况来转好不好。好,现在呢,我把这个说明也放到这儿。好,同学们,那关于我们讲的就是施政数据类型转基本数据类型的一个使用呢,我们就先给同学们介绍到这里,希望大家好好的体会一下,把刚才老师写的代码呢,练习练习跑一跑。
我来说两句