go语言结构体(go语言结构体和复杂json)

介绍结构体

结构体是Go语言中一种用于封装不同类型数据的复合数据类型。它可以包含多个字段,每个字段可以是不同类型的数据。结构体定义的语法如下:

type structName struct {
    field1 dataType1
    field2 dataType2
    ...
}

其中,structName表示结构体名称,field表示字段名称,dataType表示字段的数据类型。

结构体的初始化

结构体可以使用以下两种方式进行初始化:

  • 字面量初始化:使用类似于JSON格式的字面量初始化结构体,如下:
  • person := struct {
            name string
            age int
        }{
            name: "Jack",
            age: 30
        }

    这样就定义了一个名为person的结构体,并初始化它的name和age字段。

  • 使用new()函数初始化:new()函数可以创建一个结构体并返回其地址,如下:
  • person := new(struct {
            name string
            age int
        })
        person.name = "Jack"
        person.age = 30

    这样就定义了一个名为person的结构体,并通过点操作符初始化它的name和age字段。

结构体的方法

结构体可以定义方法,方法是一种与结构体关联的函数。Go语言中的方法与其他编程语言中的类似,但是它不需要显式地传递一个指向实例的this或self关键字。方法定义的语法如下:

func (s *structName) methodName(args ...) returnType {
    ...
}

其中,structName表示方法关联的结构体类型,methodName表示方法名称,args表示方法的参数,returnType表示方法的返回值类型。

下面是一个使用结构体定义方法的例子:

type person struct {
    name string
    age int
}

func (p *person) sayHello() {
    fmt.Println("Hello, my name is", p.name)
}

func main() {
    p := person{"Jack", 30}
    p.sayHello()
}

在这个例子中,我们定义了一个person结构体,并为其定义了一个sayHello()方法。在main函数中,我们创建了一个person类型的实例,并调用其sayHello()方法。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/golang-p46v.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年5月2日 上午3:34
下一篇 2023年5月2日 上午3:34

猜你喜欢