@gogolang

Страница 892 из 1630
Димка
07.03.2018
08:53:39
Adobe работал)

Александр
07.03.2018
08:55:47
я имел в виду на go

Александр
07.03.2018
09:04:01
большое спасибо!!!

Google
Roman
07.03.2018
09:04:33
Как конвертировать []byte / map[string]interface{} к json.RawMessage ?

Aleksandr
07.03.2018
09:06:50
json.RawMessage(bytes) попробуй так

оно вроде и есть []byte

Roman
07.03.2018
09:08:42
оно вроде и есть []byte
Да, это алиас Получилось, спасибо

Между type(another type) и anotherType.(type) есть разница ?

Aleksandr
07.03.2018
09:09:37
второе это кастинг интерфейса к типу

Artem
07.03.2018
09:18:00
интересные штуки подъехали, если кто пропустил. http://blog.kubernetes.io/2018/03/apache-spark-23-with-native-kubernetes.html https://github.com/apache/beam/tree/master/sdks/go (тут в readme есть ссылка на интересную бумажку initial design)

Alexey
07.03.2018
09:42:03
Привет, две отличные новости перед длинными выходными! 1. Программа конференции на сайте, смотреть тут: https://www.gophercon-russia.ru/#rec46819495 2. Сегодня у нас появился партнер афтепати, а это значит что безлимитным пивом каждого гофера угощает Sirena-Travel, компания специализирующаяся на travel-системах, которая стартует разработку своего нового продукта на Go.

Andrew
07.03.2018
10:14:25
Настало время вакансий!

Анастасия
07.03.2018
10:15:32
@NXShock рановато еще для вакансий)

Alexander
07.03.2018
10:15:38
Настало время вакансий!
нет бы с праздником поздравить.

Andrew
07.03.2018
10:16:00
нет бы с праздником поздравить.
Программисты - точные ребята. Поздравлять будем завтра.

Alexei
07.03.2018
10:16:04
праздник завтра )

Google
Alexander
07.03.2018
10:16:30
ну значит поздравление надо было во Future обернуть

Andrew
07.03.2018
10:18:19
ну значит поздравление надо было во Future обернуть
Сори, я только учусь, поэтому у меня go func time.Sleep(time.Day) fmt.Println("С 8 марта!")

Sergey
07.03.2018
10:41:10
Всем привет! Не могу понять почему multipart.File нельзя передать в метод с параметром io.Reader. multipart.File вроде как реализует io.Reader так в чем же проблема? type File interface { io.Reader io.ReaderAt io.Seeker io.Closer }

Aleksandr
07.03.2018
10:43:03
текст ошибки не скажешь?

Vladislav
07.03.2018
10:43:05
Sergey
07.03.2018
10:43:57
Обычно компилятор выдает сообщение, когда что-то не так, а не просто "нельзя". Если его приложить помочь будет проще.
./main.go:36:34: cannot use &f (type *multipart.File) as type *io.Reader in argument to zipper.AddFile: *io.Reader is pointer to interface, not interface

Aleksandr
07.03.2018
10:44:14
&f (type *multipart.File)

по-моему ты функцию передаешь?

код покажи

Vladislav
07.03.2018
10:44:54
А какой вообще смысл передавать интерфейсы через указатель?

Sergey
07.03.2018
10:45:23
А какой вообще смысл передавать интерфейсы через указатель?
А как правильно сделать? я просто не так довно юзаю go

Aleksandr
07.03.2018
10:45:33
код покажи

Vladislav
07.03.2018
10:46:04
Ну достаточно просто как аргумент использовать интерфейс, а не указатель на него.

Aleksandr
07.03.2018
10:46:28
указатель на интерфейс насколько я помню вообще сделать нельзя

Sergey
07.03.2018
10:46:50
Ну достаточно просто как аргумент использовать интерфейс, а не указатель на него.
Значит функции у которой ест аргумент с интерфейсом все равно что я передаю в нее указатель или значение?

Vladislav
07.03.2018
10:48:56
указатель на интерфейс насколько я помню вообще сделать нельзя
Не знаю это ли вы имели в виду. Но вот такая конструкция работает. https://play.golang.org/p/h3l5noHJjHf

Google
Artem
07.03.2018
11:03:46
Сори, я только учусь, поэтому у меня go func time.Sleep(time.Day) fmt.Println("С 8 марта!")
спать целый день это как то не по Гошному. :) var future func(string) <-chan interface{} greet := future("compliment") if _, _, day := time.Now().Date(); day == 8 { body := <-greet }

Alexander
07.03.2018
11:12:10
Сори, я только учусь, поэтому у меня go func time.Sleep(time.Day) fmt.Println("С 8 марта!")
Самое смешное то, что в отличие от обычных однопоточных языков, это решение в Go вполне рабочее. Да, можно его назвать неоптимальным и кривым, но оно делает именно то, что нужно. Благодаря слову go перед функцией.

Artem
07.03.2018
11:26:06
Самое смешное то, что в отличие от обычных однопоточных языков, это решение в Go вполне рабочее. Да, можно его назвать неоптимальным и кривым, но оно делает именно то, что нужно. Благодаря слову go перед функцией.
вот да это очень крутая возможность, но мне очень не нравится ее неявное поведение. Слишком просто кажется со стороны и в итоге мы имеем кучу высказываний в стиле - Go простой и выучить его можно за 3 дня.. вот только эти две буквы открывают дверь в мир параллельных вычислений со всякими dead / live lock, starvation и все такое, где мягко говоря не все так просто :)

Quet
07.03.2018
11:28:13
3 дня? что-то долго

а с параллельными вычислениями на любом языке не все так просто

Alex
07.03.2018
11:36:16
Для консольной проги лучше команды или флаги?

Vitalii
07.03.2018
13:08:53
Привет, а почему в golang не сделали явную реализацию интерфейса?

Илья
07.03.2018
13:10:27
что это значит?

Andrew
07.03.2018
13:10:37
А так да, нужен переводчик ))

Vitalii
07.03.2018
13:11:03
Ну то есть сейчас в golang duck typing по отношению к интерфейсу

Alexander
07.03.2018
13:11:05
что это значит?
<Some Class> implemnents <Some Interface>

Aleksandr
07.03.2018
13:11:08
имеется в виду утиная типизация

Vitalii
07.03.2018
13:11:18
Maksim (Ellrion)
07.03.2018
13:11:27
Привет, а почему в golang не сделали явную реализацию интерфейса?
потму что это круче. связанность уменьшает

Vitalii
07.03.2018
13:11:31
Нет никакой статьи, почему они решили именнто так делать?

Zver
07.03.2018
13:11:34
Илья
07.03.2018
13:12:58
<Some Class> implemnents <Some Interface>
зачем это нужно?

Google
Илья
07.03.2018
13:14:07
ну, можно добавить constraint var _ MyInterface = (*Mytype)(nil)

Maksim (Ellrion)
07.03.2018
13:14:12
тема в том что ты можешь использовать сторонние структуры из сторонних пакетов, которые ничего не знают о твоем приложении и при этом не привязываться именно к ним

Илья
07.03.2018
13:14:19
если хочется чтобы была ошибка компиляции

Vitalii
07.03.2018
13:17:10
Окей, всем спасибо

Alexander
07.03.2018
13:17:12
зачем это нужно?
ну например ты сразу понимаешь что тебе нужно реализовать какие-то методы, тебе IDE скажет что твой класс не соответствует интерфейсу. для DI контейнеров надо. в джаве, например, в интерфейсе уже могут быть какие-то константы прямо в интерфейсе и даже быть некая реализация для методов.

и там и там свои плюсы. вообще на го, после явы, использовать интерфейсы слегка непривычно

Aleksandr
07.03.2018
13:18:23
https://talks.golang.org/2015/gophercon-goevolution.slide#1
сам нашел ответ на вопрос по ссылке? я нет

Admin
ERROR: S client not available

Alexander
07.03.2018
13:18:51
там вроде была универсальная статья, типа "почему в го нет такой-то фичи"

Vitalii
07.03.2018
13:18:53
сам нашел ответ на вопрос по ссылке? я нет
Нет, оставил на потом почитать

Aleksandr
07.03.2018
13:19:30
Нет, оставил на потом почитать
я не тебе задал вопрос, а оставишему ссылку в качестве ответа, в котором ответа нет

Илья
07.03.2018
13:19:52
Inspiration: Smalltalk

Artem
07.03.2018
13:20:50
Привет, а почему в golang не сделали явную реализацию интерфейса?
https://www.reddit.com/r/golang/comments/40ukd6/what_is_the_purpose_of_implicit_implementation_of/

Aleksandr
07.03.2018
13:21:30
Inspiration: Smalltalk
это не обоснование архитектурного решения - "сделал как там увидел"

Илья
07.03.2018
13:21:52
это объяснение, почему так сделано

Mykyta
07.03.2018
13:22:08
Привет, а почему в golang не сделали явную реализацию интерфейса?
Чтобы не создавать явную зависимость между пакетами в рантайме

Aleksandr
07.03.2018
13:22:10
нет, объяснение сделано как где, а не почему

Google
Artem
07.03.2018
13:24:57
нет, объяснение сделано как где, а не почему
вообще в FAQ есть Another important principle is to keep the concepts orthogonal. Methods can be implemented for any type; structures represent data while interfaces represent abstraction; and so on. Orthogonality makes it easier to understand what happens when things combine.

т.е. причина - ортогональность

Quet
07.03.2018
13:26:21
так себе причина ) принудительное объявление какой интерфейс имплементится никакой ортогональности бы не помешало

Artem
07.03.2018
13:26:44
так себе причина ) принудительное объявление какой интерфейс имплементится никакой ортогональности бы не помешало
на этот счет сть другое Syntax is clean and light on keywords Throughout its design, we have tried to reduce clutter and complexity

Quet
07.03.2018
13:27:23
но мне кажется го это не тот язык где надо искать рациональное объяснение тому что есть что-то сделано так потому что не осилили лучше что-то притащили из plan9 и там было сделано так что-то рационально

и поди разберись где что

Artem
07.03.2018
13:28:04
сомневаюсь, что не осилили, как бы ребята там серьезные. Просто это лишнее. Зачем имплементация, если основная задача -это композиция.

Quet
07.03.2018
13:29:04
серьезные ребята игнорирующие последние лет 30 computer science да ну, вон с этими избитыми генериками даже итог: "мы не знаем как их сделать нормально"

Artem
07.03.2018
13:29:39
серьезные ребята игнорирующие последние лет 30 computer science да ну, вон с этими избитыми генериками даже итог: "мы не знаем как их сделать нормально"
ну вот тже не знаю и не знаю зачем они мне, я ими толком и не пользовался, на java 5 писал, а так скрипты.. вообще не ощущаю проблемы )))

Quet
07.03.2018
13:29:57
или с gc "мы заточим gc под один юзкейс (latency в ущерб throughput) и забьем на остальное потому что нормальный gc это сложно

Zver
07.03.2018
13:30:02
сомневаюсь, что не осилили, как бы ребята там серьезные. Просто это лишнее. Зачем имплементация, если основная задача -это композиция.
Ребята серьезные, но возрастные, а в большом возрасте хочется попроще, чтобы меньше думать. И вот почти весь язык из этой парадигмы сделан.

Maksim (Ellrion)
07.03.2018
13:31:39
Artem
07.03.2018
13:31:44
Ребята серьезные, но возрастные, а в большом возрасте хочется попроще, чтобы меньше думать. И вот почти весь язык из этой парадигмы сделан.
мне нравится предельно простая философия Си и кажется, что Go тоже эт переростет, либо займет более узкую нишу. В конце концов живут люди без этого и на качестве продукта отсутсвие генериков никак не отражается

Quet
07.03.2018
13:31:57
Artem
07.03.2018
13:32:47
ждем Go++

Alexander
07.03.2018
13:33:01
ждем Go++
раст в смысле ?)

Artem
07.03.2018
13:33:26
боюсь пока раст будет окончательно готов я уже буду на пенсии )

Quet
07.03.2018
13:33:41
ну если тебе через год-другой на пенсию то да

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