очень странный вопрос скопипастить описания методов?
Чтобы они работали, ну и свойства тоже
В смысле «работали»?😁
у интерфейсов есть только описание методов, больше ничего
Может вы про embedding?
Суть в том, чтобы отделить бизнес-логику. То есть методы одинаковые, а по факту все зависит от выбранного драйвера (postgresql, mongodb)
https://play.golang.org/p/jtjlR-yWBBx Вам что-то такое нужно?🌚
Этим и занимается интерфейс. Вы определяете интерфейс, а также две реализации для него (с postgresql и mongodb)
А если нужно что-то вытащить из пакета с postgresql?
В смысле "вытащить"?
Получить функции, свойства
Изыди, сатана
Ну хоть не unsafe и на том спасибо
что не так с reflect и unsafe?
Packages that import unsafe may be non-portable and are not protected by the Go 1 compatibility guidelines.
Можно проще сказать: unsafe позволяет стрелять по ногам, для защиты от чего, в частности, язык и создавался)
потому у нас есть прелести слайсов, interface{} и прочие прелести )
Но *void нет, уже хорошо
interface{} и есть такое :)
С чего бы, eface знает тип, который в нем лежит
type Foo int type Void interface{} var f Foo v := Void(&f) а теперь попробуй через type assertion получить int ;)
а в чем конкретно проблема? при переходе на Go2 сломается не только это, поэтому, аргумент слабый
Once all the backwards-compatible work is done, say in Go 1.20, then we can make the backwards-incompatible changes in Go 2.0. If there turn out to be no backwards-incompatible changes, maybe we just declare that Go 1.20 is Go 2.0. Either way, at that point we will transition from working on the Go 1.X release sequence to working on the Go 2.X sequence, perhaps with an extended support window for the final Go 1.X release. https://blog.golang.org/toward-go2
Ну там один нормальный способ, новая структура с эмбеддингом интерфейса. Рефлект тут странно использовать.
Это статья 17 года.
А есть новее, где сказано, что го 2 не будет?
С тех времен именно о кардинальном изиенении разговоров не слышно. Больше к концепции перешли об поэтапном добавлении фитч, без поломки языка. Те же дженерики, если выпустят, они не будут ломать совместимость.
Обсуждают сегодня