老雷go语言视频教程之Go语言的结构体struct
老雷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)
}