老雷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) }