170 похожих чатов

Ребята, привет всем! Подскажите как правильно в Го работают с аргументами

функции которые могут быть пустыми, ну или nil?

Т.е. вот например я написал функцию которая просто возвращает ответ в виде Json и при этом устанавливает код ответа и заголовки.

func Json(w http.ResponseWriter, data interface{}, headers map[string]string, code int) {
response, err := json.Marshal(data)

if err != nil {
log.Fatal("Не удалось кодировать ответ в Json")
}

for i, v := range headers {
w.Header().Set(i, v)
}

w.Header().Set("Content-Type", "application/json")
w.WriteHeader(code)
w.Write(response)
}

Так вот, иногда допустим мне не нужно устанавливать заголовки в ответе и соответственно в функции я бы хотел добавить проверку переменой headers на nil перед вызовом цикла по установке заголовков:

if headers != nil {
for i, v := range headers {
w.Header().Set(i, v)
}
}

2 ответов

10 просмотров

Функциональные параметры. Json(w, data, status, Header(h))

Юрий-Вельмесов Автор вопроса
Zver
Функциональные параметры. Json(w, data, status, H...

спасибо, уже почитал, иногда можно заюзать и так

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
50
у меня такой вопрос про память в x86 возник, может кто пояснить?.. у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше)...
Toideng
5
А какие расширения активно используются в промышленности? Именно идейные, по типу гадт, а не всякие оверлоадедстрингс
Степан
10
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
у процессора есть (как минимум) 3 типа адресов (названия "п1", "п2", "п3" --- мои, чтобы проще было дальше): - "п1" --- виртуальный адрес, то есть тот, который ресолвится в "п...
Toideng
3
Guys Who’s kurdish on this group?
Hiwa Amiri
11
Hello, I need a hand, this is my code: body: ExtendedImageGesturePageView.builder( scrollDirection: Axis.vertical, controller: _pageController, itemCou...
𝘞𝘦𝘢𝘳𝘪𝘯𝘨𝘔𝘦𝘥𝘢𝘭 🦋
2
In nodejs if you do something as follows const before = Date.now() async someDBIO() const after = Date.now()-before Ideally the after time would give you the time it spent i...
Omnipotent
3
Всем привет! Нужно найти номер позиции, с которой подстрока входит в строку. Код работает правильно за исключением случаев, когда две одинаковые буквы идут подряд (см. скрин)....
Ыиу
6
можно эстетический вопрос? у меня есть кучка мелких-мелких функций типа: function AddInteger(aparent:pointer; aname:PWideChar; aval:Int32):pointer; begin result:=AddNode(apa...
Alexey Kulakov
3
Карта сайта