————————————————Go语言Map————————————————————
一、map
1.map是key-value数据结构,称为字段或关联数组
var 变量名 map[keytype]valuetype
key的数据类型:
bool、数字、string、指针、channel
通常:int、string
value的数据类型:
bool、数字、string、指针、channel、map
通常:int float string struct map
var a map[string]string
var a map[string]int
var a map[int]string
var a map[string]map[int]string
map声明是不会分配内存的,初始化需要make,分配内存后才能赋值和使用
// Go语言Map
package utils
import (
"fmt" "sort" ) var layout string = "2006-01-02" // 全局变量 var Author string = "Jhou Shuai" // 全局变量 var Description string = "Go语言Map" //全局变量:使用反引号来定义多行字符串 var Content string = ` ` type Stu struct { Name string Age int Address string } /** * [Init 入口] * @author Jhou Shuai * @datetime 2019-05-18T11:58:33+0800 */ func Entry() { userApplication() } /** * [mapInit map基本介绍] * @author Jhou Shuai * @datetime 2019-06-01T11:11:03+0800 */ func mapInit() { // 1.使用map前,先make,make的作用是给map分配数据空间 // 2.Key不能重复,若重复咯。则以最后的一个为准 // 3.value可以重复 // 4.key-value无序的 var student map[int]map[string]string student = make(map[int]map[string]string, 2) var info map[string]string info = make(map[string]string, 10) info["name"] = "周帅" info["age"] = "18" info["age"] = "22" student[0] = info fmt.Println(student) } /** * [mapUseMethod map的使用方式] * @author Jhou Shuai * @datetime 2019-06-01T11:10:46+0800 */ func mapUseMethod() { // 1.第一种使用方式: var school map[int]map[string]string school = make(map[int]map[string]string, 2) // 2.第二种使用方式: teacher := make(map[string]string) teacher["No01"] = "张导" teacher["No02"] = "李师师" // 3.第三种使用方式: // var student map[string]string = map[string]string{"No001":"Faker","No002":"Uzi"} // var student = map[string]string{"No001":"Faker","No002":"Uzi"} // student := map[string]string{"No001":"Faker","No002":"Uzi"} student := make(map[string]map[string]string) student["No001"] = make(map[string]string, 3) student["No001"]["name"] = "Faker" student["No001"]["sex"] = "男" student["No001"]["address"] = "玉林北巷988号" student["No002"] = make(map[string]string, 3) student["No002"]["name"] =