Anonymous
для полиморфизма?
кана
А, ну гоферы-то неполноценные
Anonymous
если кодогенерация/интерфейсы то это не влияет на размер особо
Oleg
если кодогенерация/интерфейсы то это не влияет на размер особо
Этот никнейм всё больше и страшнее с каждым днём
Ignat
Это тоже этически неправильно. Больные синдромом дауна - полноценные люди, и не выбрали сами себе заболевание, в отличие от разработчиков на нелюбимых языках
ну они не виноваты, что их жизнь сложилась так, что го появился в ней раньше нормального языка или им не показали, какой бывает нормальная обработка ошибок
Kerrigan
для полиморфизма?
не, из питона это скорее всякая метапоебень для ормов
պլհկ
ну они не виноваты, что их жизнь сложилась так, что го появился в ней раньше нормального языка или им не показали, какой бывает нормальная обработка ошибок
удивительное что даже жависты сказываются в го Видимо переполняется чаша сложности из-за ФакториФакториСинглтонБин
Ignat
ну говорят, там каналы класс
Ignat
я офк не пробовал
Oleg
Я пробовал
Oleg
Они и в кложуре уже очень давно скопипастены. Го из беты выйти не успел
Ignat
ну в го хоть какие-то статические типы есть, в отличие от лиспов
պլհկ
В ракете даже зависимые типы есть, в отличие от раста
доня.
ну в го хоть какие-то статические типы есть, в отличие от лиспов
лучше уж динамические протоколы в кложуре, чем interface{}
Ignat
чем они лучше?
Konstantin
ну в го хоть какие-то статические типы есть, в отличие от лиспов
звучит так же бредово, как написать "в отличие от языков с C-подобным синтаксисом"
Ignat
ну я действительно не знаком с лиспами, но во всех, о которых слышал, статических типов нет
кана
чем они лучше?
В обоих случаях ошибка будет в рантайме, но в лиспах придется меньше бойлерплейта для приведения писать. interface{} это действительно ужасно
Ignat
с этим не спорю
Ignat
но в ряде случаев можно скастить всё-таки к чему-то разумному
Ignat
наверное
Seva
#relevant
доня.
чем они лучше?
тем что протоколы позволяют по-человечески организовывать полиморфный код, а интерфейсы - это такой void* 2017 века
Oleg
но ведь свобода воли тоже не существует
Ой, пожалуйста, не саммонь Омельченко, всё равно проиграешь же
кана
Если не использовать сам {}
доня.
бля, шо-то я затупил имел ввиду interface {} ну да, вообще одна хуйня
кана
Разница между протоколами в кложе интерфейсами в го вроде как только в том, что в го нет возможности указать, что такой-то тип имплементирует интерфейс, пишут костыли типа var _ Interface = MyType{}
Alexander
здравствуйте, это канал о rust? у меня тут вопрос, как правильно огранизовывать match собирающий информацию из разных каналов и запускающий горутины пишущие туда
պլհկ
>запускающий горутины пишущие туда
Filipp
match Language { Rust => println!("Fine"), Go(code) => return rewrite_in_rust(code)}
Anonymous
не тайпчекается
Filipp
блин
Filipp
хотя должно
Vladimir
У тебя Раст как переменная биндится
Vladimir
А ленгвич вообще должен быть снейк кейс, если эт переменная
Alexander
не тайпчекается
даже если rewrite_in_rust( возвращает местный аналог ()?
Dårk
Этически использовать "даун" как оскорбление - совершенно неправильно
будьте, как в цивилизованном иннополисе; говорите правильно: аутисты.
Filipp
эта ветка имеет тип !
Alexander
у вас что expressions и statements отдельно живут?
Alexander
вот какой возвращает первая ветка?
Alexander
а ок
Filipp
чем я занимаюсь? https://play.rust-lang.org/?gist=55f32a2c4b6f75a17632c5cabfe5b04c&version=stable
Anonymous
с каких пор ретурн это !
Loo
https://prnt.sc/h9s2jr
big
конечно return это !, он же управление не возвращает
big
иначе бы early return'ы из if/else с другим типом не работали бы
big
как это не описан
big
разве?
պլհկ
у break; какой тип?
Anonymous
м где
big
у break; какой тип?
хороший вопрос!
Anonymous
Anonymous
оно выражение просто для удобства
Anonymous
но типа не имеет
big
зачем делать специальный кейс для return'а? )
Anonymous
fn a() -> i32 { return 1 }
big
у break'а по сути нету такого. Он же в цикле обычно. Но вот у бесконечного loop'а без break'а должен быть тип тоже !
Anonymous
fn a() -> i32 { return 1 }
не ! же выдает
big
fn a() -> i32 { return 1 } ага, тут него тоже !
big
почему нет то? )
big
! — это так называемый bottom type
big
и его можно впихнуть везде где требуется любой тип
Filipp
ты не можешь сделать return return
big
(потому что его и материализовать нельзя)
Anonymous
меня троллят
big
но наверное можно сделать return { return 1 }
Anonymous
почему нет то? )
потому что -> i32
Anonymous
заметь что нет ;
big
именно поэтому и можно использовать panic! без последующего return