Home >Backend Development >Golang >Why Am I Getting 'Imported and Not Used' and 'Undefined' Errors When Importing a Specific Type in Go?
Import Package and Type
Question:
In the following project structure:
src |-->config |--> config.go |-->otherPackage |--> otherFile.go |-->main.go
There is a type defined in config.go that needs to be used in otherFile.go. However, attempting to import it using the following statement results in errors:
import ( "fmt" "math" "../config" )
The specific errors are:
Even though the type Config is used in a function declaration.
What is the underlying problem?
Answer:
The issue stems from trying to import only a specific type from a package. In Go, it is not possible to import specific elements from a package. When importing a package, you are essentially importing its entire contents.
In this case, since the package where the Config type is defined is named config, importing it will make its types and other identifiers available under the config namespace. For instance, to use Config, it must be referenced as config.Config.
Therefore, to resolve the problem, one of the following solutions can be employed:
The above is the detailed content of Why Am I Getting 'Imported and Not Used' and 'Undefined' Errors When Importing a Specific Type in Go?. For more information, please follow other related articles on the PHP Chinese website!