[go] sync 패키지의 map 사용법
sync 패키지는 고루틴 간에 안전한 공유 데이터 구조를 제공합니다. 이 패키지의 map은 동시에 여러 고루틴이 접근할 때 발생하는 경쟁 조건을 방지하는 데 유용합니다. 이번 포스트에서는 sync 패키지의 map을 사용하는 방법을 알아보겠습니다.
sync.Map 생성하기
sync.Map
을 생성하려면 다음과 같이 합니다:
package main
import (
"fmt"
"sync"
)
func main() {
m := sync.Map{}
// map에 데이터 추가, 삭제, 조회 등의 기능은 sync.Map에서 제공하는 메서드를 통해 수행합니다
}
sync.Map에 데이터 추가하기
sync.Map
에 데이터를 추가하려면 Store
메서드를 사용합니다:
m.Store("key", "value")
sync.Map에서 데이터 조회하기
sync.Map
에서 데이터를 조회하려면 Load
메서드를 사용합니다:
value, ok := m.Load("key")
sync.Map에서 데이터 삭제하기
sync.Map
에서 데이터를 삭제하려면 Delete
메서드를 사용합니다:
m.Delete("key")
이렇게 sync 패키지의 map을 사용하여 안전하게 공유 데이터를 관리할 수 있습니다. 고루틴 간에 안전하게 데이터를 공유해야 하는 경우에 유용하게 활용할 수 있습니다. sync 패키지에 대한 자세한 내용은 공식 문서를 참고하시기 바랍니다.