Go语言从入门到精通-03 | 复杂数据类型

前面文章本号给大家介绍了基本的数据类型,表达式和函数等内容。有的时候基本的数据类型可能不能满足我们开发的需求,我们可能需要一些数据类型的组合。比如我们要把一个班级里面所有人的平均成绩存在一起,然后计算整个班级的平均成绩。大家想一下,这种情况下应该用什么类型的变量?

Go语言从入门到精通-03 | 复杂数据类型

数组

接着上面我们举的例子,如果要计算平均成绩怎么办呢?这就用到了数组的概念。数组从字面上理解就是一组数,它是指类型相同的一组数。这组数在内存中是顺序存储的,因此,我们可以通过数组名字的索引来访问其中的数据,而不同定义多个变量。

Go语言从入门到精通-03 | 复杂数据类型

图1 数组内部结构示意图

如图1是数组内部结构的示意图,我们可以通过数组的索引访问数组内部的数据。通常数组的索引是从0开始的,0表示第一个元素。下面我们给出一个Go语言的具体示例:

Go语言从入门到精通-03 | 复杂数据类型

上面数组数量,如果有初始化的情况下可以不必指定大小,此时编译器会根据初始化的数据数量自动确定大小,具体定义的格式如下:

var students = [...] uint32 {67, 89, 96, 87, 79}

数组的内容还很多,我们这里先学会基本的使用,后续再详细介绍。

结构体

上面数组用于计算非常方便,但是如果我们需要一种数据类型表示学生,比如包含姓名、年龄和分数等,这样就比较难以实现了。这时就可以通过结构体来实现。结构体是对多种数据类型的封装,形成一个新的数据类型,之后我们就可以将该类型作为一种数据类型使用,使用的方式与普通数据类型一样。

Go语言从入门到精通-03 | 复杂数据类型

接口

在面向对象编程中,可以这么说:“接口定义了对象的行为”, 那么具体的实现行为就取决于对象了。在Go中,接口是一组方法签名。当一个类型为接口中的所有方法提供定义时,它被称为实现该接口。它与oop非常相似。接口指定类型应具有的方法,类型决定如何实现这些方法。下面我们看一个具体的实例:

Go语言从入门到精通-03 | 复杂数据类型

好了,今天我们对基本的符合数据类型进行了基本的介绍,大家也基本可以依葫芦画瓢了。后面我们再结合实例进行深入的介绍。

截止到目前,我们通过4篇文章对Go语言的基本语法有了一个基本的认识,后面我们将进入正题,开发我们的Web服务程序。希望通过这些实例能够让大家对Go语言有更加深入的了解。如果有任何问题,也希望大家在下面留言,作者会尽可能详细的回复大家

相关推荐