00:00
那各位。我们现在来看一下,在构的这个编程里面啊,它的变量的数据类型有哪些,那大家注意看我画出来的这幅图片啊,画了这幅图片,大家注意观察一下,大家注意观察一下。首先呢,Go的数据类型分成两大块儿,一大块儿是基本数据类型。第二大块呢,是派森,或者叫做复杂数据类型。这这种这种划分呢,跟很多传统的编程语言都是一样的。那么在基本数据类型里面呢,分为分为这么几类啊,第一类是数值型,有些人喜欢叫做数字型都可以啊,有些叫数字型都可以,那么数值型里面呢,又分成整数类型和浮点类型,注意听,那么构里面呢,这个整数类型呢,它没有,它就是这样子的啊,它没有像以前所说什么这这这个这个这个分好几种,它直接就叫特,但是呢,为了区分不同范围的整数类型呢,它后面有这个数字来表示,后面我还会详讲有int int8。
01:12
INT8 int8其实就有点类似我我们的这个BAT就是相当于说八个字节的八个字节的整数类型,而这个INT16呢,是16个字节,也是啊,不是八位啊,说错了,刚才不是八个字节,是八位,其实是一个字节啊,这是一个字节,相当于BA。相对bit,那么没有像以前传统语言的像什么short啊,这些都没有啊,没有没有没有这种了啊,它是用这个后面的数字来区分整数类型,表示呃的范围的大小,那这个呢是两个字节的,这个呢是呃32位,32位其实就是八个字,呃就是相当于是四个字节的。这个是64位的,相当于是八个字节的。同时呢,这个go里面呢,它还把这个整整这个整数分成了有符号和无符号的两大类,如果是前面写的有U的啊,就代表是。
02:10
无符号的,那无符号和有符号最大的区别就是无符号能够表示的范围怎么样更大,后面呢,我还会详讲啊,啊也是后面有这个数字来表示,表示的这个范围就是几个字节啊,几个字节,那这个八呢,就代表八位,其实就是一个字节,这是两个字节,这是四个字节,这是八个字节啊BA呢就是呃,一个字节的。啊,一个字节的,那么同时呢,它还有浮点类型,浮点类型呢有两种啊,没有那个double了。以前传统的编程语言里面用float和double,它这个是用的是呃,FLOAT32位和64位有点类似于,这个呢,是四个字节的。这是四个字节的,这个呢是八个字节的,相当于这个是单精度,这个是双精度,对不对,诶所以说这是数值型一大块,另外呢,在go里面呢,没有字符型的,没有专门的这种类型就差没有。
03:08
没有。那没有字符型呢?一般来讲,用BAT来保存单个字母的字符,就是保存单个字符。啊,而且呢,注意我这写的是字母说明这个这个BAT啊,它是不能存一个汉字的,为什么呢,在go里面呢,它都是采用UTF杠八的编码,如果一个汉字进去,一个BAT是存不下去的,因为按照我们这个编码的规定呢,一个汉字占三个字节。对不对,因为它就是在这个go里面呢,是UTUTF杠八。Utf杠八。这种编码,所以说这个BAT呢,只能存字母这种字符,如果是汉字的话,一个BAT是存不进去的,得换别的数据类型,至少得用这个。啊,至少得用这个好,嗯,所以说字符型的呢,就没有专门的啊,用BAT来单个字单个字字母字符它是可以的,就是ABCDEFG这种啊,或者是零到这个零到这个九也可以。
04:16
啊,还有阿斯克玛的钱,阿斯克玛的一些字符都可以存进去。另外呢,还有一种叫布尔类型,就是布尔类型里面呢,只有真和假,注意在这个go里面呢,呃,它只这个布尔类型只能取要么为false,要么为处,没有别的值。啊,别的放进去都是都是违法的,还有字符串,注意字符串呢,在go里面把它归结为基本数据类型的一其他编程语言会把这个字符串归结于,不一定归结到基本类型,可能归结到复杂数据类型的啊,比如像Java,它字符串呢,其实它本质是一个类,但是呢,在go里面呢,字符串它认为是一个基本数据类型,那么大家看一下这个手册。
05:01
大家看在这里呢,我打开给你们大家看这里。在官方手册里边,官方手册里边大家看到。里面有一个基础里面有几个变量,变量里面你点一下变量往下走啊看。这这大家看在他的官方手册里面,大家有注意观察的话呢,他把这个string归结于基本数据类型的,所以说我在这个地方呢,在我这个地方,我也把史证放在基本数据类型里面的,除了老师写的这几个,呃,基本数据类型呢,还有其他的几个啊,还有其他几个后面我再讲一下啊,后面再说主要用的最多的就这四种了,呃,我没有归结上的,还有还有一个就是这个。复数complex还有一个run,这个run呢,其实就是英特三二的别名,所以说这两个啊,这个run和英特三二其实你可以认为是等价的,但是呢,还不完全等价,为什么呢?Rain它在存放的时候,它是用unode这个码值来存放的,所以说它在处理。
06:14
如果有字符串里面有中文的情况下,一般会用它来保存啊,OK,那么这两个呢,后面我们用到的时候再跟大家讲啊,其他的就几乎全部囊括到我在这个手册里面写的了。第二个呢,就是第二大类,第二大类各位同学看到还有复杂数据类型,复杂数据类型里面有指针,因为这个购物呢,它保存了一部分C语言的特性,C语言特性那它里面有指针,还有数组,数组这个不说了啊,基本数据类型的这个编程语言都有数组,还有结构体。结构体也是用的非常多,这个结构体有点类似于我们别的编程语言里面的class类。
07:00
就是在go里面没有没有这个类了啊,没有class了,它相当于用结构体来替代这个类了啊,那么还有管道,管道串,这个呢,是用来做多并发时候用到一个串,然后呢,还有函数,在go里面的函数也是一种数据类型,后面老师还会具体的讲,包括呃必包这些我们都会提到切片,切片slash切片,其实。呃,就是有点类似于它是一个动态的数组啊,还有接口啊,Interface这个接口呢,跟我们呃,其他编程语言的接口呢类似,但是也有区别啊,后面我们会说还有map,这个map有点类似于像别的编程语言里面的集合。比如说有同学学过这个Java的话呢,就知道Java里面有哈希map,对不对,那么在go里面呢,它的集合比较单纯,没有那么复杂啊,因为go他想做一个比较简洁的编程语,呃,简洁的这种语言,所以说它的这个集合相当于别的编程语言的集合呢,就一个map。
08:11
啊,非常的简洁,后面我们会给他讲这个map好,那么怎么怎么去讲这个课呢?同学们,我们先讲这个基本数据类型,同时呢,再把指针讲了,后面数组结构体,管道函数,切片接口和map呢,我们是把那个放在相对后面一点的位置啊,所以说我们先把基本数据类型讲完了,然后再逐层的往里面去讲啊这我也写了这句话,我们先讲基本数据类型再讲。派生或者叫复杂数据类型,好,同学们关于数据类型的介绍呢,先给同学们说到这里。
我来说两句