golang:结构体定义

忘是亡心i 2024-04-17 06:04 127阅读 0赞

结构体

Go 语言通过用自定义的方式形成新的类型,结构体是类型中带有成员的复合类型。Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性。

Go 语言中的类型可以被实例化,使用new或&构造的类型实例的类型是类型的指针。

结构体成员是由一系列的成员变量构成,这些成员变量也被称为“字段”。字段有以下特性:

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

关于 Go 语言的类(class)

  • Go 语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。
  • Go 语言的结构体与“类”都是复合结构体,但 Go 语言中结构体的内嵌配合接口比面向对象具有更高的扩展性和灵活性。
  • Go 语言不仅认为结构体能拥有方法,且每种自定义类型也可以拥有自己的方法。

定义

结构体的定义格式如下:

  1. type 类型名 struct {
  2. 字段1 字段1类型
  3. 字段2 字段2类型
  4. }

举个例子:

  1. type Point struct {
  2. X int
  3. Y int
  4. }

同类型的变量也可以写在一行:

  1. type Color struct {
  2. R, G, B byte
  3. }

结构体的定义只是一种内存布局的描述,只有当结构体实例化时,才会真正地分配内存

发表评论

表情:
评论列表 (有 0 条评论,127人围观)

还没有评论,来说两句吧...

相关阅读

    相关 golang结构定义

    结构体 Go 语言通过用自定义的方式形成新的类型,结构体是类型中带有成员的复合类型。Go 语言使用结构体和结构体成员来描述真实世界的实体和实体对应的各种属性。 Go...

    相关 golang结构体内嵌结构

    内嵌结构体 结构体可以包含一个或多个匿名(或内嵌)字段,即这些字段没有显式的名字,只有字段的类型是必须的,此时类型也就是字段的名字。匿名字段本身可以是一个结构体类型,即结

    相关 golang 结构简介

    Go 通过类型别名(alias types)和结构体的形式支持用户自定义类型,或者叫定制类型。试图表示一个现实世界中的实体。 结构体由一系列命名的元素组成,这些元素又被称为字