我需要一些帮助来理解我在一个简单的 Web 应用程序中的文件布局有什么问题。
$GOPATH/src/example.com/myweb
然后我有2个文件:
$GOPATH/src/example.com/myweb/main.go
$GOPATH/src/example.com/myweb/api.go
两个文件都有:
包主
api.go 文件如下所示:
package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"net/http"
"time"
)
type API struct {
URI string
Token string
Secret string
client *http.Client
}
...
我的 main.go 文件如下所示:
package main
import (
"github.com/gorilla/mux"
"html/template"
"net/http"
)
var (
templates = template.Must(template.ParseFiles("views/home.html", "views/history.html", "views/incident.html"))
api = API{
URI: "http://localhost:3000",
Token: "abc",
Secret: "123",
}
)
func renderTemplate(w http.ResponseWriter, tmpl string, hp *HomePage) {
..
..
}
func WelcomeHandler(w http.ResponseWriter, r *http.Request) {
..
..
}
func main() {
r := mux.NewRouter()
r.HandleFunc("/", WelcomeHandler)
r.PathPrefix("/assets/").Handler(
http.StripPrefix("/assets/", http.FileServer(http.Dir("assets/"))))
http.ListenAndServe(":9000", r)
}
在我排除的代码中,我基本上使用在我的 api.go 文件中定义的结构,并且在执行以下操作时出现此错误:
go run main.go
# command-line-arguments
./main.go:16: undefined: API
./main.go:23: undefined: User
我到底做错了什么?
我尝试将 api.go 中的包名称更改为 myweb 但这没有帮助。
我应该使用包名 myweb 吗?假设只有 1 个文件有主文件吗?
慕桂英3389331
慕姐4208626
相关分类