Size: a a a

2020 May 07

J

Jefferson in Go-go!
Тут больше то по go вопрос. Как из jquery поймать ответ сервера примерно знаю. Вопрос в том, как правильно ответить серверу
источник

PT

Pax au Telemanus in Go-go!
Jefferson
Подскажите, как реализовать след. функционал:
1) Жму html-кнопку, там в onclick() вызывается js-функция, которая шлёт пост-запрос на backend (напр. с помощью jquery:  $.post("/ping/");)
2) Backend на golang что-то выполняет, в зависимости от результата выполнения того или иного действия  отвечает строкой:
router.POST("/ping/", func(ctx *gin.Context) {
    ctx.String(200, "ok")
}
3) Js функция в зависимости от ответа сервера вызывает alert. Т.е если сервер ответил тип всё ок, вызывается alert("ok");, ошибка alert("error");

Не совсем понимаю как правильно ответить серверу и отловить это в js

Пример:
Юзер набирает сообщение, жмёт кнопку "отправить" и если он забыл указать имя юзера - выводится алерт "вы забыли указать имя пользователя, которому хотите отправить сообщение", если всё ок - алерт "сообщение отправлено"

Использую gin-gonic
бери go-swagger там есть из коробки
источник

SR

S R in Go-go!
Приветствую, вопросик такой. Есть структура с полями int, если их много, как их сложить? Не перечисляя каждое?
источник

ЛА

Локоть Анатолий... in Go-go!
S R
Приветствую, вопросик такой. Есть структура с полями int, если их много, как их сложить? Не перечисляя каждое?
Никак) только при добавлении можно суммировать разве что
источник

DP

Daniel Podolsky in Go-go!
не перечисляя - никак
источник

SR

S R in Go-go!
Type t struct {
A int
B int
C int
}
источник

SR

S R in Go-go!
Ок я понял, спасибо, так и думал ибо интернет тоже не помог
источник

ЛА

Локоть Анатолий... in Go-go!
S R
Type t struct {
A int
B int
C int
}
А что не []int?
источник

SR

S R in Go-go!
Локоть Анатолий
А что не []int?
Да вот думаю как переделать теперь
источник

DD

Deka Dancer in Go-go!
S R
Приветствую, вопросик такой. Есть структура с полями int, если их много, как их сложить? Не перечисляя каждое?
Как сложить переменные имена которых неизвестны?
источник

D🦆

Dmitry 🦆 in Go-go!
Подскажите с GOPATH, у меня возникли вопросы, которые почему-то остались за рамками книги.
По умолчанию GOPATH лежит в поддиректории go домашней директории.

При установке пакета или при обновлении мы используем иногда -u, что обновляет пакет и зависимости.
И если в проекте мы не инициализируем go mod init, то для сборки проекта будет использована рандомная версия зависимости, которая может быть не совместима с проектом. Верно?

И соответственно в проекте мы должны выполнять go mod init для того, чтобы закрепиться файлами go.mod/go.sum на определенные версии.
Однако оно все равно в глобальную папку go это скачивает, и если мы работаем над двумя проектами параллельно, то надо зависимости себе копировать с помощью go mod vendor в папку проекта после клонирования проекта. Так?
источник

SR

S R in Go-go!
Deka Dancer
Как сложить переменные имена которых неизвестны?
Спасибо большое, уже помогли.
источник

J

Je in Go-go!
Dmitry 🦆
Подскажите с GOPATH, у меня возникли вопросы, которые почему-то остались за рамками книги.
По умолчанию GOPATH лежит в поддиректории go домашней директории.

При установке пакета или при обновлении мы используем иногда -u, что обновляет пакет и зависимости.
И если в проекте мы не инициализируем go mod init, то для сборки проекта будет использована рандомная версия зависимости, которая может быть не совместима с проектом. Верно?

И соответственно в проекте мы должны выполнять go mod init для того, чтобы закрепиться файлами go.mod/go.sum на определенные версии.
Однако оно все равно в глобальную папку go это скачивает, и если мы работаем над двумя проектами параллельно, то надо зависимости себе копировать с помощью go mod vendor в папку проекта после клонирования проекта. Так?
в целом да, но go mod vendor нам нужен только всвязи с обратной совместимостью и, возможно, упрощением CI
так-то vendor почти не нужен уже. А GOPATH и вовсе не совместим с go mod, последний потребует отключить первый и ставить все в модули
источник

i

inqfen in Go-go!
Gopath это древнее наследие как по мне, когда чуть не свернули в нормальную работу только с монорепами
источник

D🦆

Dmitry 🦆 in Go-go!
Je
в целом да, но go mod vendor нам нужен только всвязи с обратной совместимостью и, возможно, упрощением CI
так-то vendor почти не нужен уже. А GOPATH и вовсе не совместим с go mod, последний потребует отключить первый и ставить все в модули
Про go mod vendor не понял.
Если я не выполняю эту команду, то у меня не появляется папки vendor. Откуда при сборке возьмутся зависимости? Из GOPATH?
источник

J

Je in Go-go!
появится /vendor, все то, что модулями ставили (go get, go mod init) скопируется туда, не из gopath
источник

D🦆

Dmitry 🦆 in Go-go!
Спасибо за ответы, вот сейчас ситуацию тогда воспроизведу небольшую.

Клонирую проект. В нем три файла: example.go, go.mod, go.sum.
Как его запустить best practice?
источник

C

Calculon in Go-go!
best practice по запуску кода?
источник

NK

Nur Kutlugallyamov in Go-go!
Вопрос: А почему так все работает?
https://play.golang.org/p/wQ_UsFovLFa
источник

D🦆

Dmitry 🦆 in Go-go!
Calculon
best practice по запуску кода?
По использованию модулей в этом случае.
Какой минимальный набор команд нужен до непосредственной компиляции, чтобы все зависимости были локально нужных версий?
источник