GO語言學習筆記——結構體
阿新 • • 發佈:2022-04-01
1、建立結構體
func createStruct() { //結構體中的成員變數不能加var關鍵字 type Student struct { id int name string age int addr string } }
2、結構體初始化
func createStruct() { //結構體中的成員變數不能加var關鍵字 type Student struct { id int name string age int addrstring } //結構體順序初始化 var student Student = Student{1,"小松",20,"江蘇無錫"} //部分初始化 var student Student = Student{name:"小松",age:18} //通過結構體.成員 var stu Student stu.id = 18 stu.name = "test" stu.age = 10 }
3、結構體與陣列
func arrayStruct() { var arr[3] Student = [3]Student{ {101,"小松",21,"江蘇省無錫市"}, {102,"小明",20,"陝西省西安市"}, {103,"小豬",17,"上海市黃浦區"}, } arr[0].age = 32 fmt.Println(arr) fmt.Println(arr[0]) fmt.Println(arr[0].age) //通過迴圈來輸出結構體陣列中的內容 for i := 0; i < len(arr); i++ { fmt.Println(arr[i].age) } for k, v := range arr { fmt.Println(k) fmt.Println(v) } }
4、結構體與切片
func sliceStruct() { var slice []Student = []Student{ {101,"小松",21,"江蘇省無錫市"}, {102,"小明",20,"陝西省西安市"}, {103,"小豬",17,"上海市黃浦區"}, {104,"小紅",17,"江蘇省無錫市"}, } fmt.Println(slice[3]) fmt.Println(slice[0].age) slice[0].age = 1000 fmt.Println(slice[0].age) //迴圈遍歷 for i := 0; i < len(slice); i++ { fmt.Println(slice[i].name) } for k, v := range slice { fmt.Println(k) fmt.Println(v) } //使用append追加資料 slice = append(slice,Student{105,"小六",24,"河南省信陽市"}) fmt.Println(slice) }
5、結構體與map
func mapStruct() { m := make(map[int]Student) m[0] = Student{101,"小松",21,"江蘇省無錫市"} m[1] = Student{102,"小明",20,"陝西省西安市"} fmt.Println(m) }