侧边栏壁纸
博主头像
秋码记录

一个游离于山间之上的Java爱好者 | A Java lover living in the mountains

  • 累计撰写 29 篇文章
  • 累计创建 40 个标签
  • 累计创建 185 个分类

原创 Go 语言中的结构体(Let's Go 二十三)

Go中的结构体与c/c++语言中是差不多,然而对没有接触过c/c++语言的话,对在看到结构体这一复合类型是新鲜事物。

1、定义结构体


type structName struct {
    varName,varName2,varName3 Type
}
// 使用 type struct 关键字定义结构体,

img

2、结构体实例化

既然结构体是一个复合类型,那就可以像基本类型等其他类型一样。

package main

import (
    "fmt"
)

type color struct {
    white, black, red rune
}

var c color

func main() {
    c.white = '白'
    c.black = '黑'
    c.red = '红'

    fmt.Println(c)
}

img

3、创建指针类型的结构体


var varName = new(Type)
//Type可以是整型、字符串、结构体等其他类型,而 varName则是 *Type 指针类型
package main

import (
    "fmt"
)

type site struct {
    name string
    age  int
}

var web = new(site)

func main() {

    web.name = "https://qiucode.cn"
    web.age = 4
    fmt.Println(web)

    (*web).name = "https://qiucode.cn"
    (*web).age = 4
    fmt.Println(web)
}

img

4、获取结构体地址

Go中使用&获取结构体地址。

var varName = &Construct{}

img