第七章 go语言结构体(java类)
Go 语言结构体
Go 语言中数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。
结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。
结构体表示一项记录,比如保存图书馆的书籍记录,每本书有以下属性:
- Title :标题
- Author : 作者
- Subject:学科
- ID:书籍ID
简单一句话 和java中的类一样
定义结构体
结构体定义需要使用 type 和 struct 语句。struct 语句定义一个新的数据类型,结构体中有一个或多个成员。type 语句设定了结构体的名称。结构体的格式如下:
type struct_variable_type struct {
member definition
member definition
...
member definition
}
实例
package main
import "fmt"
type Books struct {
title string //结构体首字母大写代表是公开的,小写是隐私的
author string
subject string
book_id int
}
func main() {
//创建一个新的结构体
fmt.Println(Books{"go语言","郎俊楠","Go 语言教程",1})
//也可以使用key => value 格式
fmt.Println(Books{title: "java语言",author: "郎先生",subject: "java语言教程",book_id: 2})
}
访问结构体成员
package main
import "fmt"
type Books struct {
title string
author string
subject string
bookId int
}
func main() {
var books1 Books
var books2 Books
books1.bookId=1;
books1.title="go"
books1.author="lang"
books1.subject="go教程"
books2.bookId=2;
books2.title="java"
books2.author="junnan"
books2.subject="java教程"
/* 打印 Book1 信息 */
fmt.Printf( "Book 1 title : %s\n", books1.title)
fmt.Printf( "Book 1 author : %s\n", books1.author)
fmt.Printf( "Book 1 subject : %s\n", books1.subject)
fmt.Printf( "Book 1 book_id : %d\n", books1.bookId)
/* 打印 Book2 信息 */
fmt.Printf( "Book 2 title : %s\n", books2.title)
fmt.Printf( "Book 2 author : %s\n", books2.author)
fmt.Printf( "Book 2 subject : %s\n", books2.subject)
fmt.Printf( "Book 2 book_id : %d\n", books2.bookId)
}
结果


浙公网安备 33010602011771号