直接从域导入包(例如goji)

Kev*_*uth 2 go

我注意到从goji导入包时 - 它直接托管在他们的域之外,例如:

package web

import (
    "goji.io"
)

func Start() {
    mux := goji.NewMux()
}
Run Code Online (Sandbox Code Playgroud)

如何通过go请求包以及如何以这种方式托管?我找不到任何文档,所以我认为它可能是一个巧妙的技巧.

Jim*_*imB 5

go远程导入路径下的命令中记录.

如果导入路径不是已知的代码托管站点并且还缺少版本控制限定符,则go工具会尝试通过https/http获取导入并在文档的HTML中查找标记.

元标记具有以下形式:

<meta name="go-import" content="import-prefix vcs repo-root"> 
Run Code Online (Sandbox Code Playgroud)

import-prefix是与存储库根目录对应的导入路径.它必须是使用"go get"获取的包的前缀或完全匹配.如果它不是完全匹配,则在前缀处生成另一个http请求以验证标记是否匹配.