————————————————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"] = "Uzi"
student