Начал недавно изучать golang и столкнулся с не совсем понятным для меня поведением слайсом структур.
Вот к примеру простой код
package main
import "github.com/gin-gonic/gin"
type user struct {
ID int
Name string
}
func main() {
findUser()
r := gin.New()
r.Use(gin.Recovery())
r.GET("/ping", func(c *gin.Context) {
a := findUser()
c.JSON(200, gin.H{
"message": a,
})
})
r.Run()
}
func findUser() int {
var users []*user
for i := 0; i < 100000; i++ {
users = append(users, &user{
ID: i,
Name: "ololo",
})
}
length := len(users)
var u []*user
users = u
return length
}
И каждый раз, когда я захожу на localhost:8080/ping то сильно увеличивается обьем использования озу, который по хорошему должен очищаться ос временем, но это не происходит. Кто знает как с этим бороться?