@gogolang

Страница 513 из 1630
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:= ... пробовать

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

Slach
17.09.2017
09:38:26
неа

дефолтное значение в соответсвии с типом

для string это ""

Мерлин
17.09.2017
09:40:38
Разве? Nil же
https://play.golang.org/p/31P_pNugFp

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
для string это ""
А для map - nil

Мерлин
17.09.2017
09:42:44
А для map - nil
Всё ещё смешнее https://play.golang.org/p/NCYFA5jMNn

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

И len тоже

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

Мерлин
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
когда первый раз присваиваешь через := это новая переменная и она получает тип

когда второй раз присваиваешь, у тебя уже инициализированная переменная с заданным типом со ссылкой на функцию

либо каждый раз := либо таже самая сигнатура

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

Slach
17.09.2017
10:56:09
Нет, там не было пустого мапа
а это что? map[] это fmt так врет и вместо nil всякое печатает?

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
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
То, что у них это сделано неадекватно
лицензия не запрещает использовать в комерческих целях, качаешь, компилишь, используешь https://github.com/mholt/caddy/blob/master/LICENSE.txt

Мерлин
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
ну то есть dep не научить запускать из корня проекта?
Dep всегда запускают изкорня проекта. Но у вас структура gopath неправильная

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
какая правильная?
https://golang.org/doc/code.html#Workspaces

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

Daniel
17.09.2017
16:30:34
Не-а

Oleg
17.09.2017
16:30:40
$GOPATH/src/<PROJECT_NAME>
у меня именно так

Alex
17.09.2017
16:31:07
у меня именно так
корень проекта в таком случае именно папка <PROJECT_NAME>

а не src

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

Oleg
17.09.2017
16:33:33
корень проекта в таком случае именно папка <PROJECT_NAME>
да, у меня неверное понимание корня проекта с точки зрения голанга, но вообще это вполне стандартная раскладка для монорепо

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

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 все довольно строго. собственно - никто не мешает продолжать жить в монореме, просто указывайте правильные пути в импортах, да и все

Страница 513 из 1630