>백엔드 개발 >Golang >골랑 맵 증가

골랑 맵 증가

WBOY
WBOY원래의
2023-05-18 22:59:071542검색

Golang은 대규모 데이터 처리에 널리 사용되는 매우 인기 있는 프로그래밍 언어입니다. 맵은 빠른 검색을 달성할 수 있는 키-값 쌍을 저장하는 데 사용되는 효율적인 데이터 구조입니다. 맵을 사용하면 매우 편리하지만 실제 응용에서는 새로운 키-값 쌍을 추가해야 하는 상황이 발생할 수 있습니다. 그렇다면 Golang 맵에 새로운 키-값 쌍을 어떻게 추가할 수 있습니까? 이 기사에서는 세 가지 방법을 소개합니다.

방법 1: 직접 할당

Golang에서 새로운 키-값 쌍을 맵에 추가하는 가장 쉬운 방법은 대상 키에 값을 직접 할당하는 것입니다. 이는 다음 코드를 사용하여 달성할 수 있습니다.

package main

import "fmt"

func main() {
    // 声明并初始化map
    scores := make(map[string]int)
    scores["Tom"] = 90
    scores["Jerry"] = 80
    scores["Alice"] = 95
    
    fmt.Println(scores)
    
    // 增加新键值对
    scores["Bob"] = 85
    
    fmt.Println(scores)
}

실행 결과는 다음과 같습니다.

map[Tom:90 Jerry:80 Alice:95]
map[Tom:90 Jerry:80 Alice:95 Bob:85]

위 코드에서는 먼저 세 개의 키-값 쌍이 포함된 맵을 초기화합니다. 그런 다음 새 키에 값을 할당하여 새 키-값 쌍을 추가합니다. 마지막으로 원래 세 개의 키-값 쌍과 새 키-값 쌍을 포함하는 완전한 추가 맵을 인쇄합니다.

이 방법은 맵에 새로운 키-값 쌍을 추가하는 데 적합하며 실제 필요에 따라 루프 문을 통해 여러 키-값 쌍을 빠르게 추가할 수 있습니다. 그러나 우리가 할당한 키가 이미 맵에 존재하는 경우 해당 값을 덮어쓰게 된다는 점에 유의하세요.

방법 2: 맵의 업데이트 방법 사용

Golang에는 키 존재 여부를 확인하는 동시에 새로운 키-값 쌍을 추가하는 데 사용할 수 있는 특별한 방법도 있습니다. 이 메서드는 map의 업데이트 메서드를 사용하며 구현 코드는 다음과 같습니다.

package main

import "fmt"

func main() {
    // 声明并初始化map
    scores := make(map[string]int)
    scores["Tom"] = 90
    scores["Jerry"] = 80
    scores["Alice"] = 95
    
    fmt.Println(scores)
    
    // 增加新键值对
    updateMap("Bob", 85, &scores)
    
    fmt.Println(scores)
}

func updateMap(key string, value int, scores *map[string]int) {
    if _, ok := (*scores)[key]; !ok {
        (*scores)[key] = value
    }
}

실행 결과는 다음과 같습니다.

map[Tom:90 Jerry:80 Alice:95]
map[Tom:90 Jerry:80 Alice:95 Bob:85]

위 코드에서는 key, value 및 세 가지 매개 변수를 허용하는 updateMap 함수를 정의합니다. 지도에 대한 포인터. 함수 내에서 map의 업데이트 메소드를 사용하여 추가할 키가 이미 존재하는지 확인하고, 존재하지 않으면 새로운 키-값 쌍을 구성합니다. 마지막으로 updateMap 함수를 호출하여 새로운 키-값 쌍을 맵에 추가합니다.

이 방법은 첫 번째 방법보다 약간 더 복잡하지만 더 유연합니다. 이를 통해 기존 키-값 쌍의 값을 업데이트하거나 새 키-값 쌍의 세부 정보를 인쇄하는 등 새 키 추가에 대한 추가 작업을 수행할 수 있습니다.

방법 3: map의 할당 연산자 사용

또 다른 방법은 Golang 맵의 할당 연산자를 사용하는 것입니다. 구현 코드는 다음과 같습니다.

package main

import "fmt"

func main() {
    // 声明并初始化map
    scores := make(map[string]int)
    scores["Tom"] = 90
    scores["Jerry"] = 80
    scores["Alice"] = 95
    
    fmt.Println(scores)
    
    // 增加新键值对
    scores = map[string]int{
        "Bob": 85,
    }
    
    fmt.Println(scores)
}

실행 결과는 다음과 같습니다.

map[Tom:90 Jerry:80 Alice:95]
map[Bob:85]

이 방법에서는 새로운 키-값 쌍을 추가하려면 맵을 직접 할당 연산자를 사용하세요. 이 예에서는 먼저 make 함수를 사용하여 맵을 초기화한 다음 맵 할당 연산자를 사용하여 맵에 새 키-값 쌍을 추가합니다. 첫 번째 방법과 유사하게 이 방법을 사용하여 루프에서 일괄적으로 새로운 키-값 쌍을 추가할 수도 있습니다.

이 방법은 처음 두 가지 방법보다 간단하지만 원본 지도를 새 지도로 교체하는 경우에만 적합합니다. 기존 맵에 새 키-값 쌍을 추가해야 하는 경우에도 첫 번째 또는 두 번째 방법을 사용해야 합니다.

요약하자면, 이 세 가지 메소드로 구현된 함수는 Golang 맵에 새로운 키-값 쌍을 추가하는 것입니다. 선택할 방법은 특정 시나리오에 따라 다릅니다. 위 내용이 도움이 되었기를 바랍니다!

위 내용은 골랑 맵 증가의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:golang 지연 사용법다음 기사:golang 지연 사용법