1.6.1 结构体基础

一、结构体基础

  1. 结构体是由一系列具有相同类型或不同类型数据结构构成的数据集合。

  2. 结构体是由0个或多个任意类型的值聚合成的实体,每个值都可以被称为结构体的成员

  3. 结构体成员可以被称为字段,具有如下特性:

    1. 字段拥有自己的类型和值

    2. 字段名必须唯一

    3. 字段的类型也可以是结构体,甚至是字段所在结构体的类型

  4. 使用关键字type,可以将各种基本类型定义为自定义类型。基本类型包括整型、字符串型、布尔型等

  5. 结构体是一种复合的基本类型,通过type自定义类型,可以使结构体更便于使用

二、结构体的定义

  1. 结构体的定义格式如下

    type 类型名 struce {
        字段1 类型1
        字段2 类型2
        ...
    }

    说明:

    类型名:表示自定义结构体的名称。在同一个包内不能包含重复的类型名

    struce{}:表示结构体类型,type类型名struct{}可以理解为将struct{}结构体定义为类型名的类型

    字段1、字段2...:表示结构体字段名。结构体中的字段名必须唯一

    类型1、类型2...:表示结构体个字段的类型

三、访问权限

  1. 在Go语言中,函数名称瘦子木大小写非常重要,它被类实现控制控制方法的访问权限

    1. 当方法名首字母大写时,这个方法对于所有包都是公开的,其它包可以随意调用

    2. 当方法名首字母小写时,这个方法是私有的,其他包无法访问

四、结构体的排序

  1. 在Go语言实战中,可以通过sort.Slice()函数进行结构体的排序

    结果:

  2. sort不保证排序的稳定性(两个相同的值,排序之后相对位置不变),排序的稳定性由sort.Stable()函数来保证

    结果:

Last updated