Maison > développement back-end > Golang > Comment emballer Golang

Comment emballer Golang

Libérer: 2020-01-13 10:33:28
original
5526 Les gens l'ont consulté

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 # 源码
Copier après la connexion

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/... # 指定需要打包的静态文件路径
Copier après la connexion

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/...
Copier après la connexion

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)
}
Copier après la connexion

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 操作
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal