ijd8.COM

A simple blog for an old Ma Nong.

Go 1.16 正式版发布了,亮点嵌入静态文件到二进制文件

Permalink3

Go 1.16 的一个新功能 embed 可以把静态文件嵌入到打包的二进制文件里,在某些场合,这个功能很使用。

截屏2021-02-17 下午10.06.36

下面是一个简单的使用例子:

Go: embed 例子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// hello.txt
hello, go 1.16

// main.go
package main

import (
    _  "embed"
    "net/http"
)

//go:embed hello.txt
var s string

func main() {
    http.Handle("/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
        w.Write([]byte(s))
    }))
    http.ListenAndServe(":8080", nil)
}

打开网址就会看到

plaintext: go embed输出
1
hello, go 1.16

Comments

There are 3 Comments to "Go 1.16 正式版发布了,亮点嵌入静态文件到二进制文件"

1 简单猪 says:
回复

该版本保留了Go 1 兼容性的承诺,几乎所有 Go 程序都能像以前一样继续编译和运行。

2 简单猪 says:
回复

期待的范型没出来😂

3 简单猪 says:
回复

编译速度提高没那么明显,没有1.10版提高得显著。

Write a Comment

Submit Comment Login
Based on Golang + fastHTTP + sdb | go1.16.7 Processed in 1ms