type MongoDBConfig struct {
    *mgo.DialInfo
}

func ConfigureMongoDB() (*MongoDBConfig, error) {
    //Get gopath

    GOPATH := os.Getenv("GOPATH")

    file, err := os.Open(GOPATH+RESOURCE_PATH)

    if err != nil {
        return nil, err
    }
    decoder := json.NewDecoder(file)

    mongoConfig := MongoDBConfig{}

    er := decoder.Decode(&mongoConfig)

    if er != nil {
        return nil, er
    }
    return &mongoConfig, nil
}

func InitMongoDB() (*Session, error){

    mongoConfig, err := ConfigureMongoDB()

    if err != nil {
        return nil, err
    }

    session, mongoerr := mgo.DialWithInfo(mongoConfig)

}

传递 mongoConfig 时在最后一行出现错误。我使用 DialInfo 类型创建了 MongoDBConfig 结构类型。

Cannot use mongoConfig (type * MongoDBConfig) as type *DialInfo