embed 嵌入

最后更新于:2022-04-02 02:46:43

[TOC] ## 嵌入 go > 1.16 * 只支持嵌入为string, byte slice和embed.FS三种类型,这三种类型的别名(alias)和命名类型(如type S string)都不可以 ## 示例 ### 字符串 ``` import _ "embed" //go:embed hello.txt var s string print(s) ``` ### 字节 ``` import _ "embed" //go:embed hello.txt var b []byte print(string(b)) ``` ### fs.FS ``` import "embed" //go:embed hello.txt var f embed.FS data, _ := f.ReadFile("hello.txt") print(string(data)) // content holds our static web server content. //go:embed image/* template/* //go:embed html/index.html var content embed.FS ``` ## net/http ``` //go:embed public/* var fsys embed.FS func main() { http.Handle("/", http.FileServer(http.FS(fsys))) http.ListenAndServe(":8080", nil) } ```
';