Go(4 [Map])
key - value 의 데이터 구 조 는 사전 또는 관련 배열 이 라 고도 합 니 다.
맵 데이터 구조:
맵 은 참조 형식 입 니 다.
쓰기: var map 1 map [keytype] value type
사전 설명
메모: 메모 리 를 할당 하지 않 습 니 다. 초기 화 하려 면 make 가 필요 합 니 다.
그래서: test: = make (map [string] int, 10) 로 간략하게 쓸 수 있 습 니 다.
--> test 사전 만 들 기: key 형식 은 string 이 고 value 형식 은 int 이 며 길 이 는 10 입 니 다. (회 패 닉 을 초과 하면 index out of range)
var map1 map[keytype]valuetypevar a map[string]stringvar a map[string]intvar a map[int]string
var a map[string]map[string]string
var a map[string]int
a = make(map[string]int,10)
a["abc"] = 200
a["abc"] = 1200
a["hello"] = 222
지도 조작
var c map[string]string = map[string]string{"hi":"word"}
c["cc"] = "aaa"
삽입:
a[“hello”] = “world”
찾기:
// : key val.
// -- 2 , val,
// key , , 0
// , , val 0 ?
Val,exist:= a[“hello”]
if exist{
fmt.Printf("val=%d
",ok)
}else {
fmt.Printf("not found %s
",val)
}
반복:
for k,v :=range a{
fmt.Println("for",k,v)
}
삭제:
//a
//hello is key
delete(a,"hello")
길이: len (a)
예제: 함수 전달 사전
func test2(a map[string]int) {
a["one"] = 134
}
func mian(){
//map , map
a := make(map[string]int,10)
test2(a)
}
3: map 에서 절편 만 들 기
밤 1: 1
func test4() {
aa := make([]map[int]int, 5)
for i := 0; i >>
test4 [map[2:2] map[2:2] map[2:2] map[2:2] map[2:2]]
밤 2:
func test3() {
// ,
// map
// map nil,
s:=make([]map[string]int,10)
for i:=0;i>>
sss [map[aaa:100 acc:100 1aa:100] map[] map[ccc:100] map[] map[] map[] map[] map[] map[] map[]]
4: 지도 정렬
var keys []string
for k, v := range a {
fmt.Printf("a[%s] = %d
", k, v)
keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
fmt.Printf("Sort,a[%s]=%d
", k, a[k])
}
메모 리 를 할당 하지 않 습 니 다. 초기 화 하려 면 make 가 필요 합 니 다.