Хранение списка пользователей в памяти (HTTP API добавления/просмотра)
Код-ревьюJunior20 минпроверка — Спринт23-t005
Нужно хранить в памяти программы список пользователей (логин и почта). Пользователи программы могут добавлять и просматривать записи через HTTP. Разработчик написал этот код, но не прошёл ревью. Укажите ошибки и исправьте их или оставьте комментарии, что можно улучшить.
Как на собесе: 20 минут, ищи всё — гонки, утечки, ошибки, безопасность, стиль. Ссылайся на строки.
review.gogo
1packagemain23import(4"encoding/json"5"fmt"6"net/http"7)89varregistry=[]string{}1011typeAccountstruct{12Loginstring`json:"login"`13emailstring`json:"email"`14}1516funcaddAccount(whttp.ResponseWriter,r*http.Request){17varaccAccount18err:=json.NewDecoder(r.Body).Decode(&acc)19iferr!=nil{20http.Error(w,"Error parsing JSON",http.StatusBadRequest)21return22}2324registry=append(registry,acc.Login)2526fmt.Fprintf(w,"Added account")27}2829funclistAccounts(whttp.ResponseWriter,r*http.Request){30w.WriteHeader(http.StatusOK)31json.NewEncoder(w).Encode(registry)32}3334funcmain(){35http.HandleFunc("/addAccount",addAccount)36http.HandleFunc("/listAccounts",listAccounts)37fmt.Println("Server starting on port 8080...")38http.ListenAndServe(":8080",nil)39}