Heim > Artikel > Backend-Entwicklung > So verpacken Sie Golang
Golang-Verpackungsmethode:
1. Verwenden Sie go-bindata zum Verpacken:
go-bindata ist sehr einfach. Auch das Designkonzept ist nicht schwer zu verstehen. Seine Aufgabe besteht darin, statische Dateien in einem Go-Sprachquellcode zu kapseln und dann eine einheitliche Schnittstelle bereitzustellen. Sie übergeben den Dateipfad über diese Schnittstelle und erhalten die Dateidaten des entsprechenden Pfads zurück.
Um es einfach auszudrücken: Es kann .go-Dateien aus unseren statischen Dateien generieren, sodass diese in Binärdateien kompiliert werden können. Wenn das Projekt gestartet wird, werden die .go-Dateien in statische Dateien freigegeben.
Verwendungsbeispiel:
Packen Sie das gesamte statische Verzeichnis und geben Sie es bei Verwendung frei
# 目录结构 ConfigTest ├── asset │ └── asset.go 静态文件编译之后的go文件 ├── config # 静态文件目录 │ ├── rule.yaml │ └── rule.json ├── cli # 运行目录 │ ├── config 执行main释放出来的静态文件 │ │ ├── rule.yaml │ │ └── rule.json │ └── main # main.go编译之后生成的二进制执行文件 └── main 程序目录 └── main.go # 源码
Führen Sie den Befehl aus, um die statischen Dateien in Go-Dateien zu packen
go-bindata -o=./asset/asset.go -pkg=asset config/... -o # 指定打包后生成的go文件路径 -pkg # 指定go文件的包名 config/... # 指定需要打包的静态文件路径
2. Verwenden Sie go.rice zum Packen
go.rice unterstützt auch das Packen statischer Dateien in Go-Dateien, das Verhalten unterscheidet sich jedoch stark von go-bindata. Aus Nutzungssicht ist go.rice tatsächlich eine praktischere Bibliothek für statische Dateioperationen. Das Packen statischer Dateien ist eine Nebenfunktion.
Installieren Sie
go get github.com/GeertJohan/go.rice/...
Verwenden Sie
go.rice. Behandeln Sie ein Verzeichnis als Rice.Box-Operation
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) }
Befehl
go Verpackungsbefehl für Reis ist Reis. Die Verwendung ist sehr einfach: Führen Sie im Go-Codeverzeichnis, in dem sich eine go.rice-Operation befindet, direkt rice embed-go aus:
rice embed-go rice -i "github.com/fuxiaohei/xyz" embed-go // -i 处理指定包里的 go.rice 操作
Für weitere Golang-Kenntnisse beachten Sie bitte das Golang-Tutorial -Spalte auf der chinesischen PHP-Website.
Das obige ist der detaillierte Inhalt vonSo verpacken Sie Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!