我目前正在试着自己写一个web框架。
我定义了一个`core`包,作为框架核心。
我在下面app.go:
```go
//GlobalApp global app
type GlobalApp *App
//App 全局app实例
type App struct {
Config Config
SessionManager *session.Manager
route *Route
}
//NewApp 新建应用
func NewApp(conf Config, r *Route) *App {
GlobalApp := &App{
Config: conf,
SessionManager: &session.Manager{
CookieName: "SESSIONID",
Lifecycle: time.Minute * 30,
},
route: r,
}
return GlobalApp
}
```
这个`GlobalApp`变量我打算作为全局的应用实例,所有要用到公用对象的地方,都放在里面供其他地方使用。
在同目录下面我新建了一个`route.go`文件:
```go
//...这里省略
func (r *Route) ServeHTTP(rw http.ResponseWriter, req *http.Request) {
log.Println(GlobalApp)
}
```
编译和ide都会报错:`type GlobalApp is not an expression`
这在同一个包下面,不同文件的变量而已,怎么会报错呢?
有疑问加站长微信联系(非本文作者)