@gogolang

Страница 551 из 1630
Никита
01.10.2017
19:15:54
Так вы и golang не сами писали
ты будешь смеяться https://github.com/goodlang/good

Mush
01.10.2017
19:16:28
не знаю что за нагрузки, но вообще на единичных запросах простой вебсервер на го делает статику на nginx
а в сложном приложении выйгрыш закрепляется, тк именно этот процесс на го имеет доступ к прочим ресурам - бд, кеши и пр. и не тратится время на взаимодействие nginx с прочими компонентами. так что ничего удивительного что кто-то nginx не хочет юзать в случае го

Kirill
01.10.2017
19:19:11
Google
No1
01.10.2017
19:19:46
у меня форк
Поздравляю))

Valentin
01.10.2017
19:58:45
у меня форк
И форк линукса, на котором запущен сервер?

Andrew
01.10.2017
20:19:08
Уже обсуждали, что iOS открыла ядро?

Никита
01.10.2017
20:29:05
Уже обсуждали, что iOS открыла ядро?
чур его я первый форкаю

Nick
01.10.2017
20:32:27
чур его я первый форкаю
чувак извини, но его уже весь район форкнул

xPushkin
01.10.2017
20:33:44
Ссылку? Пожалуйста.

Oleh
01.10.2017
20:36:43
с чего начать для роботы с p2p децентрализованые сети и все в этом духе?

интересно пощупать, но как подойти не знаю

Kirill
01.10.2017
20:56:19
Valentin
01.10.2017
21:26:02
Ссылку? Пожалуйста.
https://github.com/apple/darwin-xnu

xPushkin
01.10.2017
21:29:06
Спасибо.

Andrey
01.10.2017
21:41:25
О, гошница Лена из Новосиба в Берлин перебралась)

Google
Irina
01.10.2017
21:58:29
В Берлине довольно активный митап гошниц есть

AxiS
01.10.2017
22:27:30
Уже обсуждали, что iOS открыла ядро?
apple после каждого релиза сурсы ядра выкладывали. В чем новость-то?

Pawel
02.10.2017
05:30:51
В Берлине довольно активный митап гошниц есть
такое впечатление, что программисткам гошечка нравится больше других языков - судя по активности в интернетах

Andrey
02.10.2017
05:32:22
Есть такой же рубевый клуб

Igor
02.10.2017
05:39:42
О, гошница Лена из Новосиба в Берлин перебралась)
Есть такое, вот такие кадры у нас растут ?

Andrey
02.10.2017
05:40:30
Привет ей)

Igor
02.10.2017
05:40:48
От кого? ?

по нику не могу догадаться

Andrey
02.10.2017
05:41:41
От более раннего перебежчика)

Igor
02.10.2017
05:42:49
Звучит загадочно ?

Maxim
02.10.2017
07:17:53
Привет! Можно ли создать структуру по названию из строки? type Test struct { number string } func main() { test := "Test" number := "234" fmt.Printf("%v", test{number}) // не работает fmt.Printf("%v", (new test()){"123"}) // не работает fmt.Printf("%v", Test{"123"}) // работает } Я хочу выбирать Test или Test2 динамически

Maxim
02.10.2017
07:22:29
Получится как в примере из gotour Но из строки так понимаю никак?

Maxim
02.10.2017
07:24:39
как в моем примере. 1. Имею строку с названием структуры test := "Test" 2. Создаю структуру с названием, которое содержится в строке test{number} или (new test())

Димка
02.10.2017
07:24:44
Что значит "из строки"?
наверное ему нужна фабрика...

Maxim
02.10.2017
07:24:53
ага, нужна фабрика

Vasily Romanov
02.10.2017
07:26:11
Так нельзя

Это не пхп

Dmytriy
02.10.2017
07:26:25
как в моем примере. 1. Имею строку с названием структуры test := "Test" 2. Создаю структуру с названием, которое содержится в строке test{number} или (new test())
Ты, вероятно, из пхп? Вроде там такое сделать можно, но это прям беда. Лучше просто switch/if/map из строки и интерфейса

Google
Maxim
02.10.2017
07:26:33
ok. Пошел делать switch

Димка
02.10.2017
07:27:15
func BuildObject(name string) IObject { switch name { case "Apple" : return &Apple{} case "Banana": return &Banana{} } return nil }

типа того

Maxim
02.10.2017
07:27:42
@Am1rkin спасибо

Димка
02.10.2017
07:29:35
@Am1rkin спасибо
скорей всего тебе это не нужно, ты пытаешься понимание других языков перенести в Го, не надо так ☝️

Мерлин
02.10.2017
07:30:38
@Am1rkin спасибо
Ещё посмотри в сторону интерфейсов, тебе они понадобятся

in favor
02.10.2017
07:31:06
Разве нельзя эту задачу с помощью интерфейсов сделать? без switch/case?

Димка
02.10.2017
07:31:59
Мерлин
02.10.2017
07:32:16
Разве нельзя эту задачу с помощью интерфейсов сделать? без switch/case?
Что значит "без switch"? Интерфейссы и условные переходы — это ортогональные штуки

Maxim
02.10.2017
07:32:53
Я действительно переношу код из пхп Может и можно, но я пока не знаю как правильно писать на го

Мерлин
02.10.2017
07:33:22
Maxim
02.10.2017
07:33:40
Я прошел

Стало проще)

Димка
02.10.2017
07:53:04
кстати, вот тут поясняется, что возвращать интерфейсы это плохо https://github.com/golang/go/wiki/CodeReviewComments#interfaces

Vladimir
02.10.2017
07:54:54
конечно плохо )

а кто-то говорит что хорошо?

Anatoly
02.10.2017
08:01:13
https://github.com/golang/go/wiki/CodeReviewComments #mustread

Valentin
02.10.2017
08:09:27
А почему плохо, если конструктор вернет интерфейс? Так компилятор и IDE проверяют, что структура реализует интерфейс верно

Мерлин
02.10.2017
08:11:56


Vadiimmm:-)))
02.10.2017
08:19:12
как присвоить string через рефлексию значению типа nullString? If structValue.Type().String() == "sql.NullString" { structValue.SetString(valueString) /// Так не получается return nil }

Google
anton
02.10.2017
08:20:40
А почему плохо, если конструктор вернет интерфейс? Так компилятор и IDE проверяют, что структура реализует интерфейс верно
лучше всегда возвращать more specific type. covariant type parameter should be most often used as output type (in producers) and contravariant type parameter as input type

Nick
02.10.2017
08:21:43
как к примеру в джава мире. Правильнее вернуть Map. Вместо HashMap

Igor
02.10.2017
08:25:06
Плохо потом мокать и тестировать, но хорошо для драйверов, разных логгеров, и т.п. - всему своё место

anton
02.10.2017
08:26:47
Разве не наоборот ?
я постоянно это путаю. *краснею* пойду проверю, то ли я написал

Igor
02.10.2017
08:27:39
Ну и это специфично для котрибуции в либы компилятора ?

Ivan
02.10.2017
08:27:39
Что то я не допонимю с vendor папкой

Мерлин
02.10.2017
08:28:01
как к примеру в джава мире. Правильнее вернуть Map. Вместо HashMap
Если ты захочешь расширить возвращаемый тип, то в случае интерфейса тебе придётся делать чёртову кучу работы, а в случае конкретной структуры — всего лишь добавить методов в её определении. К тому же, ты всегда можешь привести тип к интерфейсу, а вот вытащить тип из интерфейса — довольно геморройная задача

Ivan
02.10.2017
08:28:02
Наличие пакета в vendor, избавляет меня от необходимости иметь либу в GOPATH/src или нет?

Maxim
02.10.2017
08:30:20
Как проверить, если ли элемент в карте??? type Test struct { } func (t *Test) isInMap(p *string) (int, bool) { return t.getMaps()[p] } func (t *Test) getMaps() map[string]int { return map[string]int{ "TEST": 0, } }

Constantine
02.10.2017
08:31:00
ok тебе в дорогу ))

Maxim
02.10.2017
08:32:11
мне не нужен elem, а просто проверить есть ли ключ в карте на bool

Димка
02.10.2017
08:32:24
Maxim
02.10.2017
08:33:30
Нельзя ли вернуть из метода _, exists := yourMap[key]??? Ведь в exist уже нужный мне bool, зачем делать потом if

Мерлин
02.10.2017
08:33:30
Разве "Program to an interface, not an implementation" в го не работает? Интерфейсы настолько часто меняются?
Нет, меняются не часто, и конечно этот принцип работает, просто удобнее принимать интерфейсы, а отдавать конкретные типы данных. Меньше работы при рефакторинге потом

Google
anton
02.10.2017
08:34:03
Разве не наоборот ?
блин, в summary написано так как я написал (вроде даже оттуда дергнул) http://blog.kamkor.me/Covariance-And-Contravariance-In-Scala/

denisx
02.10.2017
08:35:06
ребята привет

нуб-вопросы можно?

Мерлин
02.10.2017
08:35:20
И как часто нужно расширять тип?
нечасто, но когда понадобится — будет жопа

Димка
02.10.2017
08:35:20
Andrew
02.10.2017
08:35:25
Nick
02.10.2017
08:36:03
нечасто, но когда понадобится — будет жопа
Ну эт видимо проблема в го такая

denisx
02.10.2017
08:36:09
вроде да

Димка
02.10.2017
08:36:20
вроде да
теперь effective go пройди:)

denisx
02.10.2017
08:36:27
ахаха )

Andrew
02.10.2017
08:36:39
Давай свои вопросы

Мерлин
02.10.2017
08:36:54
Ну эт видимо проблема в го такая
ну, если у тебя есть пять имплементаций интерфейса, и если ты меняешь интерфейс, то тебе придётся менять все свои имплементации и в жабке тоже, нет?

denisx
02.10.2017
08:37:22
у меня в одном пакете создаётся коннект к базе. а в другом пакете я делаю pgx.PreparedStatement.

Мерлин
02.10.2017
08:37:33
Да, и это нормально
А зачем? В чём профит возвращать интерфейс?

Maxim
02.10.2017
08:37:55
@twentydraft func (t *Test) isInMap(p *string) (exist bool) { myMap := t.getMap() return _, exist := myMap[p] } говорит, что myMap[p] evaluated but not used

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