>  기사  >  백엔드 개발  >  Go에서 맵 내의 배열에 값을 추가하는 방법은 무엇입니까?

Go에서 맵 내의 배열에 값을 추가하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-01 14:51:29339검색

How to Append Values to Arrays within a Map in Go?

Go에서 맵 내의 배열에 값 추가

Go에서는 맵 내의 배열에 값을 추가해야 하는 경우가 있습니다. 이를 위해서는 Go의 메모리 관리 및 데이터 구조의 미묘한 차이를 이해하는 것이 중요합니다.

구조 및 메서드 정의

다음으로 구성된 예제 구조체를 정의하는 것으로 시작합니다. ID와 이름이라는 두 필드 중 하나입니다. 이러한 필드는 각각 정수와 문자열의 조각을 보유합니다. 예제 유형의 AppendExample 메소드는 Id 및 Name 필드에 값을 추가합니다.

<code class="go">type Example struct {
    Id []int
    Name []string
}

func (data *Example) AppendExample(id int, name string) {
    data.Id = append(data.Id, id)
    data.Name = append(data.Name, name)
}</code>

Creating the Map and Appending

다음으로 MyMap이라는 맵을 정의합니다. 문자열을 예제 구조체의 인스턴스에 매핑합니다. 하지만 맵에 추가하기 전에 예제의 인스턴스를 생성해야 합니다.

다음 코드는 맵 내의 배열에 값을 올바르게 추가하는 방법을 보여줍니다.

<code class="go">package main

import "fmt"

func main() {
    obj := &Example{[]int{}, []string{}}
    obj.AppendExample(1, "SomeText")
    MyMap = make(map[string]*Example)
    MyMap["key1"] = obj
    fmt.Println(MyMap)
}</code>

수정 사항 이해

맵 내의 배열에 값을 올바르게 추가하려면 다음 사항에 유의하는 것이 중요합니다. 다음:

  • MyMap은 예제 구조체 자체가 아닌 예제 구조체의 포인터에 대한 문자열 맵입니다. 이렇게 하면 동일한 예제 구조체에 대한 여러 참조를 맵에 저장할 수 있습니다.
  • AppendExample 메서드는 포인터 수신기를 사용하므로 기본 개체를 수정할 수 있습니다.

부지런히 이러한 원칙에 따라 Go의 맵 내 배열에 값을 효율적으로 추가할 수 있습니다.

위 내용은 Go에서 맵 내의 배열에 값을 추가하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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