第七章 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)
}

  结果

 

posted @ 2023-07-14 10:48  郎小乐  阅读(33)  评论(0)    收藏  举报