
Ivan
17.09.2017
09:20:04
Но вот в текущем проекте есть импорт из кастомного http, повлиять я не могу
dep само шуршит сто лет, потом падает
создавая vendor и помещая туда - получаю unexpected tree structure или что то в этом духе
да, я глубоко не копал, это правда. Но бегло решения не нашёл.

Google

Мерлин
17.09.2017
09:30:24

Slach
17.09.2017
09:30:35
А можно еще один нюбасовский вопрос?
https://play.golang.org/p/8OXyioGcz8
а где в доке описана ситуация при которой попытка прочитать несуществующий элемент многомерного map будет выдавать пустой map[] ??
Почему возвращает не nil ?

Ivan
17.09.2017
09:31:18
наверное надо через a,ok:= ... пробовать

Мерлин
17.09.2017
09:31:40
дефолтное значение для map[string]string — это map[string]string{}

Slach
17.09.2017
09:32:54
спасибо. понял

Мерлин
17.09.2017
09:33:10

Daniel
17.09.2017
09:38:11

Slach
17.09.2017
09:38:26
неа
дефолтное значение в соответсвии с типом
для string это ""

Мерлин
17.09.2017
09:40:38

Google

Мерлин
17.09.2017
09:41:04
для указателей nil, да

Slach
17.09.2017
09:41:05
это все питон развращает =) удобно знаетели получить KeyError exception со стректрейсом и вменямым сообщением если к несуществующему
вообще python для прототипирования + golang для узких мест, похоже это реально сейчас самая перспективная связка на backend

Daniel
17.09.2017
09:41:29

Мерлин
17.09.2017
09:42:44

Daniel
17.09.2017
09:43:28
Но на nil range реагирует так же, как на пустой map
И len тоже

Мерлин
17.09.2017
09:44:29
https://play.golang.org/p/JeIcnW1dO4

ros
17.09.2017
09:44:48

Мерлин
17.09.2017
09:45:05
В общем-то не инициализированные map довольно безопасны

Slach
17.09.2017
09:48:35
В общем-то не инициализированные map довольно безопасны
ну вообще нифига оно не безопасно
у меня вот тесты fail
и я минут 10 пытался понять, почему мне возвращается пустой map[] хотя вроде бы данные есть...
ну то есть вот реально надо из мапы только через exists читать
и никак иначе

Duck
17.09.2017
09:48:57
Добрый день, подскажите пожалуйста что я делаю в этом коде не так: https://play.golang.org/p/QKzvSg39dZ . Меня смущает ошибка "cannot use sum (type func(int, int) int) as type func(int) int in assignment" , не понимаю почему, я вроде присваиваю переменной testFunc ссылку на функцию sum, но такое ощущение что чтобы присвоить новый метод, он должен иметь такую же сигнатуру.

Slach
17.09.2017
09:50:13
когда первый раз присваиваешь через := это новая переменная и она получает тип
когда второй раз присваиваешь, у тебя уже инициализированная переменная с заданным типом со ссылкой на функцию
либо каждый раз := либо таже самая сигнатура

Мерлин
17.09.2017
09:54:25

Duck
17.09.2017
09:54:56

Slach
17.09.2017
10:15:17
Если получится, можно заменить твой вариант на такой
https://play.golang.org/p/ZwUPQApREM
не понял этой конструкции, что именно он там поменяло?
суть проблемы то была в чем,
у меня приходит некий table_name (он оказался с опечаткой), логичнее и безопаснее тут вернуть nil при доступе в map по несуществующему элементу и упасть нафиг в панику
точно также как это делается со slice когда индекс за границы выходит...
но зачем то тут сделали по другому, в результате у меня вернулся пустой map который благополучно не был проитерирован через range и на выходе я получил ошибочный параметр, который мне уже отфильтровало стороннее API ...

Oleg
17.09.2017
10:32:30
If the requested key doesn't exist, we get the value type's zero value. In this case the value type is int, so the zero value is 0:

Google

Oleg
17.09.2017
10:34:53
думаю, через ок - наилучший способ проверять map
набросал небольшой пример, может кто-то посмотрит более опытный. https://gist.github.com/anonymous/e77c020d40f745bfa76a81678292be37

Daniel
17.09.2017
10:40:38

Slach
17.09.2017
10:56:09

Sheldhur
17.09.2017
10:56:34
как пофиксить?
# hello/vendor/github.com/sloonz/go-iconv
vendor\github.com\sloonz\go-iconv\iconv.go:6:20: fatal error: iconv.h: No such file or directory
// #include <iconv.h>
^
compilation terminated.

Slach
17.09.2017
10:57:10
под linux очевидно поставить libiconv-dev или подобный пакет

Sheldhur
17.09.2017
10:58:45
ну под линух любой дурак может, под виндами чё делать?

Mush
17.09.2017
10:59:19
откуда так много прогеров на го под виндами? только в этом чате узнал, что вас так много
http://gnuwin32.sourceforge.net/packages/libiconv.htm

Sheldhur
17.09.2017
11:02:11
ложить то их куда?

Ivan
17.09.2017
11:02:49
Я вообще не знал что прогеры под виндами бываютт

Vasily Romanov
17.09.2017
11:03:48
Есть многое на свете, друг Горацио, что и не снилось нашим мудрецам

Taras ?
17.09.2017
11:04:20

Ivan
17.09.2017
11:04:39
Ну, я не для холивара, я понимаю если там asp.net какой то , или надло по работе, то ок

Slach
17.09.2017
11:04:49
ложить то их куда?
у тебя Visual Studio стоит?
поставь sysinternals.com
включи ProcMon64.exe
и посмотри в каком каталоге пытается iconv.h искать

Ivan
17.09.2017
11:04:58
а если go, нах страдать

Vasily Romanov
17.09.2017
11:05:39
С го все отлично под Винду, пока не надо в кишки куда-то через cgo залезть

Slach
17.09.2017
11:05:47
а если go, нах страдать
представляешь, под виндой тоже никто не откажется от "статического бинарника"
Гошечка под виндой ... почти как "новый дельфи"

Ivan
17.09.2017
11:06:11
Да, это я тоже понимаю, есть клиенты кому удобно бинарник под винду отдавать

Slach
17.09.2017
11:11:14
Вместо Iconv кстати можно попробовать юзать вот это
https://groups.google.com/forum/#!msg/golang-ru/MNJJ5xrlCNQ/frZ0sfs2R8gJ
только адрес библиотек другой теперь
golang.org/x/text/transform
golang.org/x/text/encoding/charmap

Google

Sheldhur
17.09.2017
11:23:38

AxiS
17.09.2017
11:31:30
а что удивляет? у nginx тоже есть платная версия с поддержкой

Мерлин
17.09.2017
11:32:14
Я не против платной версии

Aleksandr
17.09.2017
11:41:51
или расчет инстансов?

AxiS
17.09.2017
11:44:02

Мерлин
17.09.2017
11:57:04
что неадекватно? цена?
Если вкратце, у них было запрещено убирать sponsor header
Однако сейчас убрали из eula это требование

Oleg
17.09.2017
12:05:20
Как по мне, то любая коммерциализация только на пользу проэктам. Я даже считаю, что этот этап должны пройти все. Или в составе комманды, или на примере своего проекта. Почитайте Торвальдса по этому поводу, он очень хорошо написал.

Kirill
17.09.2017
12:47:07
Всмы?

double
17.09.2017
15:17:19
Здаров

Oleg
17.09.2017
16:12:43
кто пользуется dep?

Aleksandr
17.09.2017
16:17:53
кто пользуется dep?
В профессиональном чате можешь пропускать этап знакомства и приступать сразу к конкретике

Oleg
17.09.2017
16:19:58
GOPATH указывает на директорию проекта, в проекте структура
/src
/server
/main.go
dep init приходится запускать из src/server, иначе получаю root project import: /asd/zxc not in GOPATH
почему такие странные косяки и какая стуктура ожидается?

Aleksandr
17.09.2017
16:22:05
Подразумевается что src не корень проекта, а корень проектов, каждый из которых по отдельности вендорится

Oleg
17.09.2017
16:22:56
ну то есть dep не научить запускать из корня проекта?

Aleksandr
17.09.2017
16:23:03
Нет

Oleg
17.09.2017
16:23:15
спс

Daniel
17.09.2017
16:25:07

Google

Oleg
17.09.2017
16:25:32
какая правильная?

Daniel
17.09.2017
16:26:08
Как в документации

Alex
17.09.2017
16:26:12
$GOPATH/src/<PROJECT_NAME>

AxiS
17.09.2017
16:26:15

Oleg
17.09.2017
16:28:19
все сплошняком нарушают)

Daniel
17.09.2017
16:30:34
Не-а

Oleg
17.09.2017
16:30:40

Alex
17.09.2017
16:31:07
а не src

AxiS
17.09.2017
16:32:28
все сплошняком нарушают)
в go большиинство старается придерживаться. Весь коплект утилит по этому соглашению работает, проще следовать чем потом костыли городить

Oleg
17.09.2017
16:33:33
С монорепо значит все мучаются. Ну думаю осознают рано или поздно

AxiS
17.09.2017
16:34:40

Oleg
17.09.2017
16:35:17
ну вообще на фронте тоже все сплошняком в монорепо

kino
17.09.2017
16:50:48
А кто использовал gst вместе с go?

AxiS
17.09.2017
18:11:06

Daniel
17.09.2017
18:12:12
ну вот в экосистеме go все довольно строго. собственно - никто не мешает продолжать жить в монореме, просто указывайте правильные пути в импортах, да и все