출처: https://jacking75.github.io/go_performance_map_gc/

원문: https://qiita.com/oywc410/items/ad8baee00f039705a5c0


아래 글 중간쯤 보면 map 사용시 race condition 발생 가능한 경우에 대해 얘기한게 있다.

http://blog.remotty.com/blog/2015/08/15/golangeuro-anjeonhan-seobiseu-mandeulgi/


map은 전역으로 쓸 경우를 만들면 안 될 것 같고, 메모리 해제도 자바처럼 강제로 해제해주지 않으면 큰 일이 날 것 같다.



package main

import (
    "strconv"
)

func main() {
    var dict = make(map[int]string)

    // 데이터 입력
    for i := 0; i < 999; i++ {
        dict[i] = "WTF:" + strconv.Itoa(i)
    }

    for k := range dict {
        delete(dict, k) //데이터 제거
    }

    //메모리 해제
    dict = nil
    // 또는
    dict = make(map[int]string)
}



추가로 위 출처/원문 내용에 있는 gctrace가 윈도우에서는 안 되는 것 같다.

구글에 검색해보니 VMMap을 쓰라는데 걍 vscode의 debug 기능을 쓰는게 나을 것 같다.


끝.