Go微服务实战
上QQ阅读APP看书,第一时间看更新

3.4 struct

前面已经介绍的数组、slice、map有一定的相同之处,即处理的都是相同类型的元素,map的key和value属于相同的类型。但如果要把多个类型的元素放到一起进行处理,则要使用Go语言为我们提供的数据结构struct(结构体)。

struct非常适合定义一个有意义的对象,可以用于定义属性和方法,这和C语言的结构体、Java和Python的class有着相似的意义。当然,struct肯定不是class,它有自己的特点,读者通过本章的学习会了解到struct的特点。

注意

struct也是复合类型,而非引用类型。复合类型和引用类型是有区别的,复合类型是值传递,而引用类型是引用传递。