코딩/GoLang

GoLang에서 Map Iterate, add, update 하기

드리프트 2021. 1. 28. 21:10
728x170

 

 

안녕하세요?

 

GoLang에서 자료형으로 많이 쓰이는 Map 해쉬테이블을 다루기 위해서는

 

for range 루프를 사용하면 됩니다.

 

그리고 map 자료의 간단한 iterate, add, update, delete 에 대해

 

예제를 통해 알아보겠습니다.

 

package main

import "fmt"

func main() {
	// employee 라는 map 타입의 자료가 있습니다.
	var employee = map[string]int{
		"Mark":  10,
		"Sandy": 20,
		"Rocky": 30,
		"Rajiv": 40,
		"Kate":  50,
	}

	// employee map 타입의 자료를 iterate하는 방법은
	// for range 문구를 사용하는 겁니다.
	// key, element 를 지정하면 해당 key와 value를
	// 각각 key, element라는 변수로 액세스할 수 있습니다.
	for key, element := range employee {
		fmt.Println("Key:", key, "=>", "Element:", element)
	}

	// employee map 타입에 자료를 추가해 봅시다.
	employee["Lunar"] = 60
	employee["Mars"] = 70

	// employee map 타입의 자료중 기존 자료 업데이트하기
	employee["Mark"] = 15

	// 수정 된 후 출력하기
	fmt.Println("after modified")
	for key, element := range employee {
		fmt.Println("Key:", key, "=>", "Element:", element)
	}

	// Map data 삭제하기 - delete 함수 이용
	delete(employee,"Mark")

	// 수정 된 후 출력하기
	fmt.Println("after modified")
	for key, element := range employee {
		fmt.Println("Key:", key, "=>", "Element:", element)
	}

	// 빈 Map 타입 생성
	employeeList := make(map[string]int)

	// Map 자료의 갯수는 len함수로 쉽게 구할 수 있습니다.
	fmt.Println(len(employee))     // 2
	fmt.Println(len(employeeList)) // 0
}

 

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

 

그리드형

'코딩 > GoLang' 카테고리의 다른 글

GoLang 클로저 함수  (0) 2021.01.28
GoLang 익명 함수(Anonymous Function)  (0) 2021.01.28
GoLang의 Higher Order Function  (0) 2021.01.28
GoLang에서 URL 파싱하기  (0) 2021.01.26
Go 언어, GoLang 강좌 튜토리얼 소개  (1) 2021.01.26