数据结构及类型结构

  1. 数据结构及类型结构组成图:(关于类型构成详细后面文章介绍)

数据结构

  1. 数据结构记录字符串记录的内存数据相关信息。比如【字符串的内容】以及【字符串的长度】。
  2. String.data:是一个指针,指向一个byte类型数组的首地址。
  3. String.len:记录当前字符串的长度,以字节为单位。
1
2
3
4
type String struct {
    data unsafe.Pointer
    len int
}

类型结构

  1. 类型结构记录字符串类型相关信息。比如字符串【占用内存大小】【包含指针数量】【字段对齐】等信息。
  2. _type:记录类型原数据结构,用于表示所有类型共有的属性结构。
  3. 关于_type的具体含义在相关章节列出。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
type u struct {
    _type
}

type _type struct {
    size uintptr
    ptrdata uintptr
    hash uint32
    tflag tflag
    align uint8
    fieldAlign uint8
    kind uint8
    equal func(unsafe.Pointer, unsafe.Pointer) bool
    gcdata *byte
    str nameOff
    ptrToThis typeOff
}