Golang 入门 : 结构体(struct)

电脑杂谈  发布时间:2020-02-12 16:01:02  来源:网络整理

静蕾体结构_上海贝越佳园房体结构_结构体

Go 通过类别别名(alias types)和结构体的方式支持客户自定义类型,或者叫定制类型。试图表示一个现实世界中的实体。

结构体由一系列命名的元素构成,这些元素既被称为字段,每个字段都有一个名称跟一个类型。

结构体的目的就是把数据聚集在一起,以便能够非常方便地操作这种数据。结构体的概念在 C 语言里最常用,被称为 struct。Golang 中的结构体也是 struct。Go 语言中没有类的概念,因此在 Go 中结构体有着更为重要的地位。结构体是复合类别(composite types),当必须定义一个类型,它由一系列属性构成,每个属性都有自己的类型和值的之后结构体,就必须使用结构体,它把数据聚集在一起。然后可以访问那些数据,就似乎它是一个独立实体的一部分。结构体也是值类别,因此可以借助 new 函数来创建。

上海贝越佳园房体结构_静蕾体结构_结构体

在 Golang 中更常见的方式是使用关键字 type 和 struct 来定义一个结构体,以关键字 type 开始,之后是新类型的名字结构体,最后是关键字 struct:

// Person 为用户定义的一个类型
type Person struct {
    Name  string
    Age     int
    Email string
}

还有一些简单的写法,比如:

静蕾体结构_上海贝越佳园房体结构_结构体

type T struct { a, b int }

也是合法的,它最适用于简单的结构体。

结构体里的数组都有名字,比如前面例子中的 Name、Age 和 Email 等等。如果一个字段在代码中从来不会被用到,那可以把它命名为 _,即空标识符。

上海贝越佳园房体结构_静蕾体结构_结构体

结构体中的数组可以是任何类别,甚至是结构体本身,也可以是变量以及接口。可以声明结构体类型的一个变量,然后像以下这种给它的字段赋值:

var p Person
p.Name = "nick"
p.Age = 28

另外,数组可以看作是一种结构体类型,不过它使用数组而不是具名的字段。

结构体_上海贝越佳园房体结构_静蕾体结构

字段标记

在定义结构体时还可以为数组指定一个标记信息:

type Person struct {
    Name  string `json:"name"`
    Age     int         `json:"age"`
    Email string `json:"email"`
}

这些标记信息通过反射接口可见,并参与结构体的类别标识,但在其它状况下被忽视。

一旦定义了结构体类型就可以使用这个类别创建值。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-140551-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...