【发布时间】:2021-11-02 16:57:37
【问题描述】:
我正在构建一个简单的应用程序,在阅读了有关构建 go 应用程序的文档后,我仍然感到困惑。
我想要这个结构:
- 练习
- 模型(打包为模型)
- 一个
- b
- 路由器(打包成路由器)
- 一个
- b
- 模型(打包为模型)
app.go
在app.go 内部,我有以下内容:
package main
import (
"net/http"
// I have tried the following:
"practice/models/a"
"practice/models/b"
"practice/models"
"$GOPATH/practice/models/a"
"$GOPATH/practice/models/b"
"$GOPATH/practice/models"
...
)
func main() {
http.HandleFunc("/a", AHandler)
http.HandleFunc("/b", BHandler)
http.ListenAndServe(":8080", nil)
}
A 和 B 模型如下所示:
package models
import "net/http"
func AHandler(w http.ResponseWriter, r *http.Request) {
// code
}
两个问题:
-
究竟什么是导入这些文件的正确方法?我真的必须将它们推送到 github 才能引用它们吗?我知道 $GOPATH 是本地机器上整个 go 工作区的命名空间。我的 $GOPATH 设置为包含此目录。
-
我需要在这些文件中定义一个 main 方法吗?我可以只导出一个函数并将其作为处理函数吗?
我咨询了docs
【问题讨论】:
标签: go