Maison > Article > développement back-end > Comment emballer Golang
Méthode d'emballage Golang :
1. Utilisez go-bindata pour l'emballage :
go-bindata est très simple, Le concept de design n’est pas non plus difficile à comprendre. Sa tâche est d'encapsuler les fichiers statiques dans un code source en langage Go, puis de fournir une interface unifiée. Vous transmettez le chemin du fichier via cette interface, et elle vous renverra les données du fichier du chemin correspondant.
Pour faire simple, il peut générer des fichiers .go à partir de nos fichiers statiques, afin qu'ils puissent être compilés en fichiers binaires. Au démarrage du projet, les fichiers .go seront libérés dans des fichiers statiques.
Exemple d'utilisation :
Emballez l'intégralité du répertoire statique et libérez-le lorsqu'il est utilisé
# 目录结构 ConfigTest ├── asset │ └── asset.go 静态文件编译之后的go文件 ├── config # 静态文件目录 │ ├── rule.yaml │ └── rule.json ├── cli # 运行目录 │ ├── config 执行main释放出来的静态文件 │ │ ├── rule.yaml │ │ └── rule.json │ └── main # main.go编译之后生成的二进制执行文件 └── main 程序目录 └── main.go # 源码
Exécutez la commande pour empaqueter les fichiers statiques dans des fichiers go
go-bindata -o=./asset/asset.go -pkg=asset config/... -o # 指定打包后生成的go文件路径 -pkg # 指定go文件的包名 config/... # 指定需要打包的静态文件路径
2. Utilisez go.rice pour empaqueter
go.rice prend également en charge l'empaquetage de fichiers statiques dans des fichiers go, mais le comportement est très différent de celui de go-bindata. Du point de vue de l'utilisation, go.rice est en fait une bibliothèque d'opérations de fichiers statiques plus pratique. L'empaquetage de fichiers statiques est une fonction accessoire.
Installer
go get github.com/GeertJohan/go.rice/...
Utiliser
go.rice Traiter un répertoire comme une opération rice.Box
import ( "fmt" "html/template" "github.com/GeertJohan/go.rice" ) func main() { // 这里写相对于的执行文件的地址 box, err := rice.FindBox("theme/default") if err != nil { println(err.Error()) return } // 从目录 Box 读取文件 str, err := box.String("post.html") if err != nil { println(err.Error()) return } t, err := template.New("tpl").Parse(str) fmt.Println(t, err) }
Commande
go. La commande d'emballage du riz est le riz. C'est très simple à utiliser : dans le répertoire de code go où se trouve une opération go.rice, exécutez directement rice embed-go :
rice embed-go rice -i "github.com/fuxiaohei/xyz" embed-go // -i 处理指定包里的 go.rice 操作
Pour plus de connaissances sur Golang, veuillez faire attention au tutoriel golang colonne sur le site PHP chinois.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!