golang 기초 수기(10)-지도

5046 단어 golang 기초 수기
map
기본 개념
  • 문법:map[keyType]valueType
  • 키 쌍(key-value)을 저장 하 는 데 사용 되 며 키 가 유일 합 니 다
  • 내부 키 쌍 사 이 는 무질서 하 며,입력 순서 와 무관 합 니 다
  • 참조 형식,성명 후 값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 {}그 중kv은 키 와 값 입 니 다.예 를 들 어 기초 소기(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아무런 조작 도 하지 않 기 때문에 잘못 보고 하지 않 습 니 다.레 퍼 런 스

    좋은 웹페이지 즐겨찾기