Jack
Jack

Reputation: 2344

Revel and golang import too physical?

just starting with go/revel. I copied the "examples/booking" app into "examples/booking2" directory so i could muck with it w/o impacting the original.

When I ran it I got weird results, in particular the initial data in the db seemed to be duplicated.

I tracked this down to the imports:

import "github.com/revel/examples/booking/app/models"

Once I changed "booking" to "booking2" in all the relevant imports things were fine. But my first thought is "why is an import path so physical?". I'm thinking that within the application there should be a way to relatively reference the app's various packages w/o having to reference the physical path where the app resides.

Is there a way to do that?

Not even sure if this is "go" thing, or a "revel" thing.

Thx.

Upvotes: 1

Views: 159

Answers (1)

Matt
Matt

Reputation: 3760

The import path maps directly to the filesystem path, relative to $GOPATH/src/.

https://golang.org/doc/code.html#ImportPaths

It seems that you can do a relative import like this:

../other-pkg

But it's not idiomatic or recommended.

Upvotes: 1

Related Questions