Size: a a a

2021 May 31

AK

Andrey Kartashov in Go-go!
Переслано от Andrey Kartashov
мне надо из  NonDefaultProcess.Run() каким то образом вызвать Process.Run()
источник

VY

Vladislav Yarmak in Go-go!
не вижу противоречий
источник

AK

Andrey Kartashov in Go-go!
Переслано от Andrey Kartashov
process.Run() должен разрешать override полностью
источник

AK

Andrey Kartashov in Go-go!
а не вызывать сначала implementation specific а потом generic
источник

VY

Vladislav Yarmak in Go-go!
а
источник

VY

Vladislav Yarmak in Go-go!
такого не будет
источник

VY

Vladislav Yarmak in Go-go!
это тогда надо будет в каждой структуре, которая заключает в себе общий процесс, заглядывать, что там за тип в интерфейсе внутри
источник

VY

Vladislav Yarmak in Go-go!
вообще такой подход для го неидиоматичен. если вам нужно, чтобы разнородные процессы имели интерфейс Run(), то делаете просто частные реализации, которые имеют этот интерфейс, а дефолтный процесс оборачиваете просто прокси-объектом, который внутри Run() вызывает Begin, Process, End
источник

AK

Andrey Kartashov in Go-go!
я так и сделал, см. структуру Process
источник

AK

Andrey Kartashov in Go-go!
проблема в том, что я не могу обмануть Process и вызвать Run() так, чтобы внутри не приводилось к runner
источник

AK

Andrey Kartashov in Go-go!
ладно, override не особо нужен
источник

AK

Andrey Kartashov in Go-go!
изначально цель была сделать generic method
источник

AK

Andrey Kartashov in Go-go!
ну то есть override тоже работает, просто не могу вызвать "родительский" метод
источник

AK

Andrey Kartashov in Go-go!
хотя не, получилось. Изврат правда https://play.golang.org/p/j_gzHvr4jK3
источник

AK

Andrey Kartashov in Go-go!
источник

VY

Vladislav Yarmak in Go-go!
а это ради чего всё? чтобы обращаться к разнородным сущностям по одному интерфейсу?
источник

AK

Andrey Kartashov in Go-go!
чтобы в интерфейсе публиковать метод, который реализуется другими методами
источник

AK

Andrey Kartashov in Go-go!
как в расте, в trait можно сделать дефолтную импелментацию
источник

ВС

Владимир Столяров... in Go-go!
у нас такого нету)
источник

AK

Andrey Kartashov in Go-go!
если бы в go можно было interface использовать как ресивер, было бы проще
источник