golang 기초 수기(10)-지도
5046 단어 golang 기초 수기
기본 개념
map[keyType]valueType
nil
,키 쌍 을 추가 할 수 없습니다.먼저make()
를 사용 하여 메모 리 를 분배 해 야 합 니 다.(사용 방식 은 기본 메모(9)len(map)
map
,예 를 들 어[]map[string]string
일 수 있다.이 때 모든 요 소 를 사용 해 야 합 니 다make()
초기 화map
의 값 은 절편 일 수 있다.예 를 들 어map[string][]string
설명 시간 채 우기
m1 := map[string]int{
" ": 25,
" ": 130,
}
fmt.Println(m1[" "]) // 25
출력 할 때 선택 한 키 가 존재 하지 않 으 면 해당 형식의 0 값 을 출력 합 니 다.
직접 추가
상례
m1
에 키 쌍 추가:m1[" "] = 300
m1[" "] = 150
fmt.Println(m1) // map[ :300 :25 :150]
key
원래 맵 에 존재 하지 않 으 면 새로운 키 쌍 을 추가 하 는 것 을 볼 수 있 습 니 다.존재 한다 면 대응 하 는 것 을 바 꿔 라value
.키 존재 여부 판단
문법 형식:
value, ok := map[key]
value
:키 가 존재 하면 대응 치 를 되 돌려 줍 니 다.그렇지 않 으 면 대응 하 는 유형의 0 값ok
:키 가 존재 하면 되 돌려 주기true
,그렇지 않 으 면 되 돌려 주기false
v1, k1 := m1[" "]
v2, k2 := m1[" "]
fmt.Println(v1, k1, v2, k2) // 150 true 0 false
두루
문법 형식:
for k, v := range map {}
그 중k
과v
은 키 와 값 입 니 다.예 를 들 어 기초 소기(4)코드 중의 67 줄 을 참고 하 십시오.옮 겨 다 니 는 과정 은 무질서 합 니 다.질서 있 게 옮 겨 다 니 려 면 키 를 절편 에 저장 하고 질서 있 게 옮 겨 다 니 며 map 를 옮 겨 다 닐 수 있 습 니 다.키 쌍 삭제
문법 형식:
delete(map, key)
다음 예:fmt.Println(m1) // map[ :300 :25 :150]
delete(m1, " ")
fmt.Println(m1) // map[ :300 :25]
delete(m1, " ")
fmt.Println(m1) // map[ :300 :25]
지정 한 키 가
nil
이거 나 존재 하지 않 으 면delete
아무런 조작 도 하지 않 기 때문에 잘못 보고 하지 않 습 니 다.레 퍼 런 스