>백엔드 개발 >Golang >Go에서 객체 배열을 어떻게 매핑할 수 있나요?

Go에서 객체 배열을 어떻게 매핑할 수 있나요?

Linda Hamilton
Linda Hamilton원래의
2025-01-03 08:06:39735검색

How Can I Map Arrays of Objects in Go?

Go의 객체 배열 매핑

Node.js에서 map() 함수를 사용하면 원본 배열의 각 요소를 변환하여 새 배열을 만들 수 있습니다. Go에서 배열은 슬라이스만큼 유연하지 않으며 메소드를 지원하지 않습니다.

그러나 객체 배열을 원하는 값의 배열로 변환하는 데 사용할 수 있는 일반 Map 함수를 구현할 수 있습니다.

일반 지도 기능

func Map[T, U any](ts []T, f func(T) U) []U {
    us := make([]U, len(ts))
    for i := range ts {
        us[i] = f(ts[i])
    }
    return us
}

사용

fruits := []struct{ fruit string }{
    {fruit: "apple"},
    {fruit: "banana"},
    {fruit: "cherry"},
}

fruitNames := Map(fruits, func(fruit struct{ fruit string }) string { return fruit.fruit })

fmt.Println(fruitNames) // Outputs: [apple banana cherry]

고려사항

한 줄짜리 지도 기능을 사용하면 편리할 수 있지만 한계를 고려하는 것이 중요합니다.

  • 숨겨진 비용: 지도 기능은 새로운 슬라이스를 만들고 O(n) 반복을 수행하므로 항상 가장 효율적인 옵션이 아닐 수도 있습니다.
  • 오류 처리: Map 함수는 슬라이스하는 동안 발생할 수 있는 오류를 처리하지 않습니다. 변형 요소. 오류가 발생할 수 있는 경우 사용자 정의 루프가 필요할 수 있습니다.

이러한 고려 사항에도 불구하고 Map 기능은 Go에서 객체 배열을 매핑하기 위한 가볍고 우아한 솔루션을 제공할 수 있습니다.

위 내용은 Go에서 객체 배열을 어떻게 매핑할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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