Having interface such as
ArticleUsecase in Go is a bad idea, since Go interfaces are ducktyped. Stick to Go practices and have interface with only one or two methods.
In addition, you’re actually going against clean architecture, and hide the domain of your application. Instead of having
controller packages you should have
article package that holds Article model, Article controller, and so on.