go語言基礎之結構體普通變量初始化


1、結構體

1.1、結構體類型

有時我們需要將不同類型的數據組合成一個有機的整體,如:一個學生有學號/姓名/性別/年齡/地址等屬性。顯然單獨定義以上變量比較繁瑣,數據不便於管理。

  

結構體是一種聚合的數據類型,它是由一系列具有相同類型或不同類型的數據構成的數據集合。每個數據稱為結構體的成員。

 

1.2、結構體普通變量初始化

示例:

package main //必須有個main包

import "fmt"

//定義一個結構體類型
type Student struct {
	id   int
	name string
	sex  byte //字符類型
	age  int
	addr string
}

func main() {
	//順序初始化,每個成員必須初始化
	var s1 Student = Student{1, "mike", 'm', 18, "bj"}
	fmt.Println("s1 = ", s1)

	//指定成員初始化,沒有初始化的成員,自動賦值為0
	s2 := Student{name: "mike", addr: "bj"}
	fmt.Println("s2 = ", s2)
}

執行結果:

s1 =  {1 mike 109 18 bj}
s2 =  {0 mike 0 0 bj}

  

1.3、結構體指針變量初始化

示例:

package main //必須有個main包

import "fmt"

//定義一個結構體類型
type Student struct {
	id   int
	name string
	sex  byte //字符類型
	age  int
	addr string
}

func main() {
	//順序初始化,每個成員必須初始化, 別忘了& ,&取地址
	var p1 *Student = &Student{1, "mike", 'm', 18, "bj"}
	fmt.Println("p1 = ", p1)

	//指定成員初始化,沒有初始化的成員,自動賦值為0
	p2 := &Student{name: "mike", addr: "bj"}
	fmt.Printf("p2 type is %T\n", p2) //main函數結構體
	fmt.Println("p2 = ", p2)
} 

執行結果:

p1 = &{1 mike 109 18 bj}

p2 type is *main.Student

p2 = &{0 mike 0 0 bj}

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM