The projects runs and I see not errors. However, I am trying to use "github.com/kelseyhightower/envconfig"
but the import is always removed.
I have done the following.
go get "github.com/kelseyhightower/envconfig"
I now see it but it is greyed out compared to the others
go 1.20
require (
github.com/alexedwards/flow v0.0.0-20220806114457-cf11be9e0e03
github.com/fatih/color v1.15.0
golang.org/x/exp v0.0.0-20230321023759-10a507213a29
)
require (
github.com/kelseyhightower/envconfig v1.4.0 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.17 // indirect
golang.org/x/sys v0.6.0 // indirect
)
Ran go mod download
Try to add the import back to where I need it
package config
import (
"time"
"github.com/kelseyhightower/envconfig" <-- gets removed
)
type OAuth struct {
Key string `envconfig:"APP_KEY" default:""`
Secret string `envconfig:"APP_SECRET" default:""`
same thing happens, so I run go mod tidy
and now my import is gone in my go.mod
file.
I refresh and re-index my project, do the same process again with the same result. I deleted the go.mod
file, reinitialized with no avail.
Any other ideas?
>Solution :
You are only using envconfig
as a tag for marshal/unmarshal. So it will be removed as it’s not used. You need to USE envconfig
in your codes.
For example
type Foo struct{
Bar string `envconfig:"bar"`
}
var data []byte // some marshalled data
var foo Foo
envconfig.Unmarshall(&foo,data) // not sure if this is the correct syntax, but you should get the idea
and now since envconfig
is being used, it will no longer be removed from your imports.