加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在golang中构建没有github的本地导入

发布时间:2020-12-16 09:26:27 所属栏目:大数据 来源:网络整理
导读:我正在构建一个简单的应用程序,在阅读了关于构建应用程序的文档之后,我仍然感到困惑. 我想要这个结构: 练习 模型(打包成型号) a b 路由器(打包为路由器) a b app.go 在app.go里面,我有以下内容: package mainimport ( "net/http" // I have tried the foll
我正在构建一个简单的应用程序,在阅读了关于构建应用程序的文档之后,我仍然感到困惑.

我想要这个结构:

>练习

>模型(打包成型号)

> a
> b

>路由器(打包为路由器)

> a
> 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设置为包含此目录.
>我是否需要在这些文件中定义主方法?我可以只导出一个函数并将其作为处理函数吗?

谢谢.

我已经咨询了docs

解决方法

见 How to Write Go Code.

在$GOPATH / src下创建目录结构.

> $GOPATH

> src

>练习

>模特
>路由器

导入包如下:

import (
  "practice/routers"
  "practice/models"
  ...
)

像这样使用导入的包:

func main() {
  http.HandleFunc("/a",models.AHandler)
  http.HandleFunc("/b",models.BHandler)
  http.ListenAndServe(":8080",nil)
}

即使您在文件路径中使用“github.com”,也无需推送到github.com.

主程序包中的主要功能是应用程序的入口点.不要在main之外的包中定义主要功能.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读