
Daniel
06.07.2018
19:21:47
Батхерт - это грех

Александр
06.07.2018
19:23:19
@onokonem а вы что юзаете?

Denis
06.07.2018
19:25:01

Google

Никита
06.07.2018
19:25:06
net/http очень даже юзабельный
И если у тебя не REST API, то и стандартный Mux сойдёт
Те же библиотеки для тестирования
В го очень много хороших вещей из коробки

Daniel
06.07.2018
19:28:58

Boris
06.07.2018
19:30:51

Daniel
06.07.2018
19:31:05
@onokonem а вы что юзаете?
Я сам стараюсь обходиться flag. Имена-пароли прячу в yaml. В конторе принято использовать yaml через json.
А так - все я не соберусь с явы портировать свой конфигчекер

Александр
06.07.2018
19:58:35

Никита
06.07.2018
20:00:22

Daniel
06.07.2018
20:01:35
http://ghodss.com/2014/the-right-way-to-handle-yaml-in-golang/
почему-то тут любят так

Google

Александр
06.07.2018
20:55:34
или либа сама

Daniel
06.07.2018
20:56:14
Подсовывать надо всегда ямл

Александр
06.07.2018
20:57:45
бывает что не всегда ?
кручу верчу серилизацию
одна проблема с ней
в структуре нет понятие "проверить на пустоту" и прочее ?

Crypt
06.07.2018
21:29:06

Александр
06.07.2018
21:54:38
кстати тут @onokonem говорил про гоу сваггер
я тут нашеле забавную вещь в нем, он хардкодит документацию по адресу /docs
и не отключаемо
проверьте у себя, вдруг в прод уехало ?

Daniel
06.07.2018
22:43:22
Чем плохо публиковать доку на public api?

Александр
06.07.2018
22:46:34
ну такое
лишний раз палить
параноя не позволит ?
вдруг я там накосячил где то, так человеку придется собирать, а тут все сразу и в одном месте
по заявкам набросал небольшую структуру приложения Restapi на базе goswagger
https://github.com/ruelephant/SimpleRestfulApi
еще конечно не все, далеко

Google

Александр
06.07.2018
22:58:01
только базовые идеи

Глеб
07.07.2018
09:59:02
уже неделю+ пишу на go не могу разобраться как golang научить импортировать локальные модули
удаляет автоматом шустро и как добавляет внешние зависимости, а вот с локальными чёт может я не так установил

Subbotin
07.07.2018
10:02:10
Положите их куда надо в gopath и импоптируйте по полному пути

Глеб
07.07.2018
10:02:14

Alexey
07.07.2018
10:03:21

Subbotin
07.07.2018
10:03:55
Управление зависимостями - не самая сильная сторона го. Но гуглу удобно видимо у себя внутри
Ну т вообще в своей контролируемой среде может не самый плохой вариант

Глеб
07.07.2018
10:09:00
export GOPATH=$(go env GOPATH)
export PATH=$PATH:$GOPATH/bin
export GOPATH=/Users/castle/dev/sources/alyonairina/api

Глеб
07.07.2018
10:09:03
добавил
и всё равно автоимпорта нет
Проект в gopath лежит?
а получается gopath - это как бы директория на рабочей машине где должны лежать все исходники
и собираться они должны только из этой единственной директории?

Alexey
07.07.2018
10:19:36

Глеб
07.07.2018
10:19:40
ого

Alexey
07.07.2018
10:20:44
Ну вы же держите код в репозитории каком-то, вот по такому пути он и должен там лежать, $GOPATH/src/...

Google

Глеб
07.07.2018
10:22:40
да, осмысляю.
в контейнерах это получается так же
и импорт будет всегда абсолютно абсолютный относительно репо
удивительно и быть может круто

Vladimir
07.07.2018
10:39:53
Парни, подскажите по синтаксису Go. Получаю значение флага "снаружи" пакета (в другом пакете) вот такой командой (подсмотрено на SO)
return flag.Lookup("ffmpeg").Value.(flag.Getter).Get().(string)

Admin
ERROR: S client not available

Vladimir
07.07.2018
10:40:23
после Value.(<...>) как конструкция называется?
Value -> Value is the interface to the dynamic value stored in a flag. (The default value is represented as a string.)
причем там в типе нету геттера
https://golang.org/pkg/flag/#Value
type Value interface {
String() string
Set(string) error
}
вообщем, тыкните, где развернуто можно почитать, пожалуйста
p.s. последняя конструкция ясна, это кастуем к string

Vasily Romanov
07.07.2018
11:00:46
это кас в нужный тип из интерфейса
и в Value, и со string
в случае со стрингом - это не преобразование к строке, а именно вытаскивание оригинального типа из пустого ( в данном случае именно он ) интерфейса
обе операции одинаковые
и в случае если у вас лежит там другой тип - то в такой конструкции будет паника
почитать https://golang.org/doc/effective_go.html#conversions

Vladimir
07.07.2018
12:35:06
Спасибо

07.07.2018
15:20:27

Google

07.07.2018
15:20:28
чтобы функция возвращала элемент как с канала

Andrew
07.07.2018
15:40:12

Harry
07.07.2018
17:17:32
пасаны, не подскажите почему тута считается что запись есть. строка ведь пустая https://play.golang.org/p/5WqHf1JK7cl

Ilya
07.07.2018
17:19:07
Ты наличие ключа проверяешь

Harry
07.07.2018
17:20:32

Никита
07.07.2018
22:18:23
Такая задача: надо распарсить мапу in в структуру out
Также мне надо получить тэг текущего поля structField. Но как я видел по докам, тэг можно получить только у структур, которые полученны через Field() по индексу. Как решить эту проблему?
structScheme := reflect.ValueOf(out).Elem()
for key, value := range in {
structField := structScheme.FieldByName(strings.Title(key))

Crypt
07.07.2018
22:29:18

madskills
07.07.2018
22:29:27
у меня была похожая задача
дай угвдаю, у тебя была загвоздка в том, что ты не мог из мап досать ничего?
хотя наверное я мимо :)

Никита
07.07.2018
22:33:22
Тут я не могу тэг достать из поля

madskills
07.07.2018
22:36:53
кто-то пользовался вот этим?
https://github.com/funkygao/golib/tree/master/observer