美文网首页
Go语言中的结构体定义

Go语言中的结构体定义

作者: 码二哥 | 来源:发表于2020-02-09 09:16 被阅读0次

参考:
http://c.biancheng.net/view/65.html

关键点

1、结构体是一种复合类型,是由基本类型组合而成的

2、结构体没有实例化前,就是对内存的一种描述,只有实例化后,才给结构体分配内存的

3、可以将结构体理解成,是一种组件,一种资源

1、结构体 构成

Go语言可以通过自定义的方式形成的类型,结构体就是这些类型中的一种复合类型

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

2、结构体成员

结构体成员也可以称为“字段”,这些字段有以下特性

  • 字段拥有自己的类型
  • 字段名必须唯一
  • 字段的类型也可以是结构体,甚至是字段所在结构体的类型。

3、type 可以定义 自定义类型

使用关键字 type 可以将各种基本类型定义为自定义类型

基本类型包括整型字符串布尔等。

结构体是一种复合基本类型,通过 type 定义为自定义类型后,使结构体更便于使用。

4、结构体的定义格式

type 类型名 struct {
    字段1 字段1类型
    字段2 字段2类型
    …
}

对各个部分的说明:

  • 类型名:标识自定义结构体的名称,在同一个包内不能重复。
  • struct{}:表示结构体类型,type 类型名 struct{}可以理解为将 struct{} 结构体定义为类型名的类型。
  • 字段1、字段2……:表示结构体字段名,结构体中的字段名必须唯一。
  • 字段1类型、字段2类型……:表示结构体各个字段的类型。

5、例子 1:

使用结构体可以表示一个包含 X 和 Y 整型分量的点结构,代码如下:

type Point struct {
    X int
    Y int
}

6、例子 2

同类型变量也可以写在一行,颜色的红、绿、蓝 3 个分量可以使用 byte 类型表示,定义的颜色结构体如下:

type Color struct {
    R, G, B byte
}
```

结构体的定义只是一种`内存布局的描述`,只有当结构体`实例化`时,才会真正地`分配内存`,我们将在下一节《实例化结构体》中详细为大家介绍。



相关文章

  • 13-GoLang结构体

    结构体 Go语言中的结构体几乎和C语言中的结构体一模一样都需要先定义结构体类型, 再定义结构体变量都是用来保存一组...

  • Go 语言程序设计——面向对象编程(5)

    结构体 Go 语言中创建自定义结构体最简单的方式是基于 Go 语言的内置类型创建 自定义类型也可以基于结构体创建,...

  • 12-Go语言结构体

    结构体 结构体的基本概念 什么是结构体Go语言中的结构体几乎和C语言中的结构体一模一样都需要先定义结构体类型, 再...

  • 结构体

    结构体初识 结构体指针 结构体的匿名字段 结构体嵌套 Go语言中的OOP

  • Go教程第十一篇:结构体

    结构体 本文我们着重讲解一下Go语言中的结构体。 什么是结构体 ? 结构体是用户定义的数据类型,它表示了一组字段的...

  • Go语言中的结构体定义

    参考:http://c.biancheng.net/view/65.html 关键点 1、结构体是一种复合类型,是...

  • 第10章-结构体

    一、结构体 1.1 什么是结构体 Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数...

  • Golang(十) 结构体

    结构体 什么是结构体 Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。 结...

  • Golang 方法接受者(receiver of method)

    在go语言中,没有类的概念但是可以给类型(结构体,自定义类型)定义方法。所谓方法就是定义了接受者的函数。接受者定义...

  • Go结构体、方法、接口

    1 结构体 Go语言中没有“类”的概念,也不支持像继承这种面向对象的概念。但是Go语言的结构体与“类”都是复合结构...

网友评论

      本文标题:Go语言中的结构体定义

      本文链接:https://www.haomeiwen.com/subject/ezkgxhtx.html