🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。 在实际开发中,我们可以将一组类型不同的、但是用来描述同一件事物的变量放到结构体中,例如,在校学生有姓名、年龄、学号、学科属性,学了结构体后,我们就不需要再定义多个变量了,将它们放在结构体中即可。 ## 声明结构体 Go 语言通过 type 和 struct 关键字声明结构体,格式如下: ```go type 类型名 struct { 字段1 字段1类型 // 字段名必须唯一 字段2 字段2类型 } ``` Go语言结构体 (Struct) 从本质上讲是一种自定义的数据类型、只不过这种数据类型比较复杂、是由int、char、float等基本类型组成的。你可以认为结构体是一种 `聚合类型` 。 ```go type Student struct { id int name string age int8 course []string } ``` Go语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性。结构体成员、也可称成员变量、字段、属性。属性要满足唯一性。 ```go type Student struct { id age int name string course []string } ```