Вы не можете переопределить функции в Go.
Если вы определите новый тип, например:
type EWKBGeomPoint geom.Point
, тогда EWKBGeomPoint
- это новый тип, содержащий те же поля-члены geom.Point
, но ни один из его методов.
Если вы определяете новый тип путем встраивания:
type EWKBGeomPoint struct {
geom.Point
}
Тогда EWKBGeomPoint
- это новый тип, встраивающий geom.Point
. Все переменные-члены и функции из geom.Point
также определены для EWKBGeomPoint
.
Если вы используете свое объявление, вы можете преобразовать результат:
g = (*models.EWKBGeomPoint)(gt.(*geom.Point))
Если вы используете вложение типа, вы можете назначить его внедренной точке:
g.Point = *gt.(*geom.Point)
Однако в любом случае вы не переопределяли функцию Scan
, вы определили функцию Scan
для нового типа.