老雷go语言视频教程之Go语言的结构体struct
查看视频教程或者获取有关《老雷go语言视频教程》更多信息

老雷go语言视频教程之结构体struct


结构体是由一系列具有相同类型或不同类型的数据构成的数据集合


一、定义

//定义 type 名称 struct

type Book struct {

//结构属性: 名称 类型

Bookid uint64

//带标签属性: 名称 类型 标签 

Title string "标签"

Price uint 

}

注意:属性名称首字母大写 


二、实例化

不带字段

Book{

1,

"语文",

123

}

带字段:使用方便

Book{

Title:"哈哈"

};

//值类型

var book1 Book

//指针类型

b2:=&Book{

Title:"哈哈"

};

三、属性的使用

book1.Title="a"

四、内嵌结构体

继承其他结构体属性

type Yuwen struct {
Book
Author string
}
w := Yuwen{
Book: Book{
Bookid: 1,
Title:  "第一本书",
Price:  12,
cc:     1,
},
Author: "老雷",
}


课后练习:

设计一个存储文章的结构体,文章ID,文章名称,文章简介,文章内容,发布时间,作者,观看人数

package main

import (
	"fmt"
)

type Book struct {
	Bookid uint64
	Title  string "title"
	Price  uint
	cc     int
}

type Yuwen struct {
	Book
	Author string
}

func main() {
	var book1 = Book{
		Bookid: 1,
		Title:  "第一本书",
		Price:  12,
		cc:     1,
	}
	book1.Price = 24
	fmt.Print(book1.Title, book1.Price, book1.cc)
	//指针类型
	b2 := &Book{
		Bookid: 2,
		Title:  "第二本书",
	}

	fmt.Print(b2.Title, b2.Price)
	//不赋值
	var b3 Book
	fmt.Print(b3)
	//内嵌结构体
	w := Yuwen{
		Book: Book{
			Bookid: 1,
			Title:  "第一本书",
			Price:  12,
			cc:     1,
		},

		Author: "老雷",
	}
	fmt.Print(w)
	fmt.Print(w.Title)

}