Golang의 Map은 키를 값과 연결할 수 있는 매우 일반적으로 사용되는 데이터 구조입니다. 지도는 기사에 단어가 나타나는 횟수 계산, 학생의 시험 점수 저장 등 다양한 상황에서 매우 유용합니다.
이 글에서는 Map이 무엇인지, Map의 특징, Map의 사용법, Map 순회 등을 간단하고 이해하기 쉽게 Golang의 Map을 소개하고, 점차적으로 몇 가지 코드 예제도 작성할 예정입니다. 배운 지식을 통합합니다.
1. 지도란 무엇인가요?
맵은 키를 값으로 매핑하는 데이터 구조입니다. 각 키는 한 번만 나타날 수 있으며 해당 값은 반복적으로 나타날 수 있습니다. Golang에서 Map의 구현은 삽입, 삭제 및 검색 작업을 빠르게 수행할 수 있는 해시 테이블과 유사합니다.
Map의 선언 형식은 다음과 같습니다.
map[KeyType]ValueType
여기서 KeyType과 ValueType은 각각 키와 값의 유형을 나타냅니다. 예는 다음과 같습니다.
var students map[string]int
이 예는 맵을 정의하고 키 유형은 문자열이고 값 유형은 int입니다. 초기화 전에는 이 맵이 nil이므로 사용할 수 없습니다.
2. 맵 특성
a. 다음 두 필드가 있는 구조:
type Key struct { x, y int }
b. 요소 유형은 "=="를 지원합니다. "!=" 연산자:
type Key [2]int
c. 인터페이스 유형이며 동적 값이 nil이 아닙니다.
type Key interface { }
students := make(map[string]int)
students["Tom"] = 90 students["Jerry"] = 80 students["Mary"] = 95
지도의 요소를 수정하려면 동일한 키를 사용하면 됩니다. 새로운 키-값 쌍을 추가하려면 키 위치에 값을 쓰면 됩니다.
delete(students, "Jerry")
삭제 함수의 첫 번째 매개변수는 Map이고 두 번째 매개변수는 삭제할 키입니다.
score, ok := students["Tom"] if ok { fmt.Printf("Tom's score is %d. ", score) } else { fmt.Println("Tom not found.") }
3. 맵 사용 방법
특정 문자열이 있고 각 단어가 그 안에 나타나는 횟수를 세고 싶다고 가정해 보겠습니다. .
package main import ( "fmt" "strings" ) func main() { str := "Go is a programming language.Golang is a updated version of the Go language. It was created by Google." // 将字符串按照空格分隔成切片 words := strings.Fields(str) // 创建一个空Map,用于统计单词出现次数 count := make(map[string]int) // 统计单词出现次数 for _, word := range words { count[word]++ } // 打印结果 for word, cnt := range count { fmt.Printf("%s: %d ", word, cnt) } }
이 예에서는 먼저 strings 패키지의 Fields 함수를 사용하여 문자열을 문자열 조각으로 분리한 다음 빈 맵을 만듭니다. 그런 다음 for 루프를 사용하여 조각의 각 단어를 키로 사용하고 해당 값에 1을 더한 다음 마지막으로 맵을 순회하여 각 단어가 나타나는 횟수를 인쇄합니다.
4. 지도 탐색
Golang에서는 for 루프를 사용하여 지도를 탐색할 수 있습니다. 맵을 탐색할 때 반환되는 키-값 쌍은 순서가 없습니다.
for key := range students { fmt.Println(key) }
for _, value := range students { fmt.Println(value) }
for key, value := range students { fmt.Printf("key: %s, value: %d ", key, value) }
위의 탐색 방법을 사용할 수 있습니다. 문자열이 어떤 맵이든 순회하려면 키 맵과 다른 유형의 맵 모두에 적용 가능합니다.
Summary
이 글에서는 Map의 정의, 특징, 사용법, 순회 등 Golang의 Map을 주로 소개합니다. 실제 개발에서 Map은 매우 일반적으로 사용되는 데이터 구조이므로 Golang 개발자가 Map 사용을 익히는 것이 매우 필요합니다.
위 내용은 Golang의 지도 데이터 구조를 심층적으로 분석하기 위한 간결한 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!