我有以下文件夹结构:
.
├── Makefile
├── README.md
├── myproject
│ ├── handlers
│ │ └── authorize_handler.go
│ ├── models
│ │ ├── id_token.go
│ ├── server.go
从authorize_handler.go我尝试IdToken.idType从id_token.go文件中引用该字段。
authorize_handler.go
package handlers
import (
"encoding/json"
"log"
"net/http"
"myproject/models"
)
func AuthorizeHandler(rw http.ResponseWriter, req *http.Request) {
idToken := new(models.IdToken)
decoder := json.NewDecoder(req.Body)
err := decoder.Decode(&idToken)
if err != nil {
panic(err)
}
log.Println(idToken.idType)
}
id_token.go
package models
type IdToken struct {
id string `json:"id" type:"string" required:"true" max_length:"50"`
idType string `json:"idType" type:"idType" required:"false"`
}
当我开始server.go使用时go run server.go,出现以下错误:
handlers/authorize_handler.go:29: idToken.idType undefined (cannot refer to unexported field or method idType)
移动IdToken到authorize_handler.go确实可以解决问题。更改idType为IdType没有。
有什么想法或建议可以分享吗?
呼啦一阵风
相关分类