> 백엔드 개발 > Golang > golang 유형 변환 맵

golang 유형 변환 맵

王林
풀어 주다: 2023-05-10 16:39:07
원래의
1284명이 탐색했습니다.

Golang 프로그래밍 언어에서 유형 변환은 매우 일반적인 작업입니다. 프로그램이 실행될 때 한 데이터 유형을 다른 데이터 유형으로 변환해야 하는 경우가 많기 때문입니다. 예를 들어 문자열을 정수로 변환하거나 구조를 JSON 형식으로 변환해야 할 수도 있습니다. 그 중 Map 유형을 변환하는 작업도 자주 사용되는 작업입니다. 이 기사에서는 Golang에서 하나의 Map 유형을 다른 Map 유형으로 변환하는 방법을 소개합니다.

Golang의 지도 유형은 매우 유용한 데이터 구조입니다. 이는 Python의 사전과 유사하며 순서가 지정되지 않은 키-값 쌍 세트로 구성됩니다. Map 타입을 사용할 경우, 키를 통해 해당 값을 찾아 수정할 수 있습니다. Golang에서 Map 유형을 사용할 때 다음 사항에 주의하세요.

  • Map 유형의 정의 형식은 map[keyType]valueType입니다. 여기서 keyType은 키의 데이터 유형을 나타내고 valueType은 키의 데이터 유형을 나타냅니다. 값.
  • Map 유형의 0 값은 nil입니다. 초기화하지 않으면 빈 Map과 동일하게 동작합니다.
  • Map 유형의 키는 정수, 문자열, 포인터, 인터페이스, 구조체 등과 같은 비교 가능한 유형이어야 합니다.
  • 지도 유형의 값은 모든 유형이 될 수 있습니다.

Golang에서는 강제 유형 변환을 통해 지도 유형 변환을 구현합니다. 구현을 위한 샘플 코드는 다음과 같습니다.

func main() {

// 要转换的map
oldMap := map[string]string{
    "name": "John",
    "age":  "30",
    "city": "New York",
}

// 将map[string]string转换为map[string]interface{}
newMap := make(map[string]interface{})
for k, v := range oldMap {
    newMap[k] = v
}

// 打印结果
fmt.Println(newMap)
로그인 후 복사

}

위 샘플 코드에서는 이름을 정의합니다. 세 개의 키-값 쌍으로 구성된 oldMap의 Map 유형 변수입니다. 우리는 이 지도 유형을 Map[string]interface{} 유형으로 변환하려고 합니다. 단계는 다음과 같습니다.

  • 키 유형이 문자열이고 값 유형이 인터페이스 유형인 새 지도 유형 변수 newMap을 정의합니다.
  • for 루프를 사용하여 oldMap의 각 항목을 반복하고 이를 새 맵 변수 newMap에 추가합니다.
  • 마지막으로 oldMap 유형을 Map[string]interface{} 유형으로 성공적으로 변환했습니다.

또 중요한 점은 변환 과정에서 소스 맵 유형과 대상 맵 유형의 값 유형이 호환되는지 여부에도 주의가 필요하다는 것입니다. 소스 Map 유형의 값 유형을 대상 Map 유형의 값 유형으로 변환해야 하는 경우 유형 변환이 필요하며, 그렇지 않으면 컴파일 오류가 발생합니다.

다음은 Map[string]interface{} 유형을 Map[string]string 유형으로 변환하는 또 다른 예시 코드입니다.

func main() {

// 要转换的map
oldMap := map[string]interface{}{
    "name": "John",
    "age":  30,
    "city": "New York",
}

// 将map[string]interface{}转换为map[string]string
newMap := make(map[string]string)
for k, v := range oldMap {
    newMap[k] = fmt.Sprint(v)
}

// 打印结果
fmt.Println(newMap)
로그인 후 복사

}

위 예시 코드에서는 Map 유형을 정의합니다. 세 개의 키-값 쌍으로 구성된 oldMap이라는 변수입니다. 우리는 이 Map[string]interface{} 유형을 Map[string]string 유형으로 변환하려고 합니다. 단계는 다음과 같습니다.

  • 키 유형이 문자열이고 값 유형이 문자열인 새 지도 유형 변수 newMap을 정의합니다.
  • for 루프를 사용하여 oldMap의 각 항목을 반복하고 fmt.Sprint(v)를 사용하여 값을 문자열로 변환한 후 이를 새 맵 변수 newMap에 추가합니다.
  • 드디어 oldMap 유형을 Map[string]string 유형으로 성공적으로 변환했습니다.

간단히 말하면, 지도 유형 변환은 Golang 프로그래밍에서 매우 일반적인 작업입니다. 소스 Map 유형과 대상 Map 유형의 값 유형이 호환되는지 주의하고 필요한 유형 변환을 수행하여 컴파일 오류나 기타 문제를 방지하세요.

위 내용은 golang 유형 변환 맵의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿