go語言結構體

2021-07-24 11:48:50 字數 2209 閱讀 7521

go語言陣列可以儲存同一型別的資料 但在結構體中我們可以為不同項定義不同的資料型別

結構體是由一系列具有相同的型別或者不同型別的資料構成的資料集合

1.定義結構體

結構體定義需要使用type和struct語句。struct語句定義乙個新的資料型別,結構體中有乙個或者多個成員。

type語句設定了結構體的名稱。結構體的格式如下

type struct_variable_type struct

訪問結構體成員

如果要訪問結構體成員 需要使用點號(.)操作符。  格式為:"結構體.成員名"

結構體型別變數使用struct關鍵字定義,例項如下

package main

import "fmt"

type books struct {

title string

author string

subjectone string

book_id int

func main() {

var book1 books  //宣告book1為books型別

var book2 books  //宣告book2為books型別

book1.title = "go語言"

book1.author = "超哥"

book1.subjectone = "教程"

book1.book_id = 123412

book2.title = "oc語言"

book2.author = "超哥哈哈哈"

book2.subjectone = "教程哈哈哈"

book2.book_id = 123412324

fmt.printf("book1 title:%s,author:%s,subjectone:%s,book_id:%d\n",book1.title,book1.author,book1.subjectone,book1.book_id)

fmt.printf("book2 title:%s,author:%s,subjectone:%s,book_id:%d\n",book2.title,book2.author,book2.subjectone,book2.book_id)

//呼叫

printbook(book1)

printbook(book2)

func printbook(book books) {

fmt.printf("title:%s,author:%s,subjectone:%s,book_id:%d\n",book.title,book.author,book.subjectone,book.book_id)

//結構體指標

//定義指向結構體的指標類似於其他指標變數

var struct_pointer *books

//以上定義的指標變數可以儲存結構體變數的位址。檢視結構體變數位址,可以將&符號放到結構體變數前

struct_pointer = &book1;

//使用結構體指標訪問結構體成員 使用"."操作符

struct_pointer.title;

//結構體指標重寫

package main

import "fmt"

type books struct {

title string

author string

subjectone string

book_id int

func main() {

var book1 books

var book2 books

book1.title = "go語言"

book1.author = "超哥"

book1.subjectone = "教程"

book1.book_id = 4321

book2.title = "oc語言"

book2.author = "超哥哈哈哈"

book2.subjectone = "jia"

book2.book_id = 3214431

printbook(&book1)

printbook(&book2)

func printbook(book *books) {

fmt.printf("title:%s author:%s subjectone:%s book_id:%d\n",book.title,book.author,book.subjectone,book.book_id)

GO語言結構體

go語言的struct和c語言的很相似 簡單的struct定義 package main import fmt type test struct func main fmt.println a 或者 package main import fmt type test struct func main...

Go語言 結構體

一 定義結構體及其三種初始化 示例程式 package main import fmt type books struct func main 也可以使用key value 格式 fmt.println books 忽略的字段為0或空 fmt.println books 執行結果 二 訪問結構體及將...

go語言 結構體及結構體指標

結構體 struct 是由一系列具有相同型別或不同型別的資料構成的資料集合,也叫結構。可以理解為其他程式語言中的類 結構體既可以定義在函式內,也可以定義在函式外,函式外為全域性結構體可以跨包訪問 前提是結構體首字母大寫 結構體變數是值型別,可以使用fmt.printf p 結構體變數 來檢視其記憶體...