>  기사  >  백엔드 개발  >  왜 지도를 상수로 선언하고 Go에서 수정할 수 없나요?

왜 지도를 상수로 선언하고 Go에서 수정할 수 없나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-14 14:22:02346검색

Why Can't I Declare a Map as a Constant and Modify It in Go?

맵을 상수로 선언 및 수정하기

Go에서 맵은 상수가 아닙니다. 즉, 생성 후에는 키-값 쌍을 수정할 수 없습니다. 아래 스니펫에서 볼 수 있듯이 지도를 상수로 선언한 후 채우려고 하면 오류가 발생합니다.

const (
    paths = &map[string]*map[string]string{
        "Smith": {
            "theFather": "John",
        },
    }
    paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior"
)

Reason

상수는 변경할 수 없는 값을 나타내며 지도는 Go의 유형은 키-값 쌍 수정을 허용하지 않습니다. 사양에서는 부울, 룬, 정수, 부동 소수점, 복소수 및 문자열 상수를 포함한 특정 유형으로 상수 선언을 제한합니다.

해결 방법

이 문제를 해결하려면 문제가 발생하면 아래와 같이 맵을 상수 대신 변수로 선언하세요.

var paths = map[string]*map[string]string{
    "Smith": {
        "theFather": "John",
    },
}
paths["Smith"]["theSon"] = paths["Smith"]["theFather"] + " Junior"

위 내용은 왜 지도를 상수로 선언하고 Go에서 수정할 수 없나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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