Embeber archivos en Go
go:embed mete archivos dentro del binario en tiempo de compilación.
package assets
import "embed"
//go:embed schema.sql
var Schema string
//go:embed static
var Files embed.FS
// Read devuelve el contenido de un archivo embebido.
func Read(name string) ([]byte, error) {
return Files.ReadFile("static/" + name)
}
Cómo funciona
- La directiva va justo encima de la variable que llena.
- Un string, un []byte o un embed.FS son los tres destinos.
- Los archivos deben vivir en el directorio del paquete o debajo.
Palabras clave y builtins usados aquí
byteerrorfuncreturnstringvar
El intento, en números
- Líneas
- 14
- Caracteres a escribir
- 247
- Tokens
- 39
- Ritmo de tres estrellas
- 105 tpm
Al ritmo de tres estrellas de 105 tokens por minuto, este intento toma unos 22 segundos.
Paso 4 de 5 en Paquetes y compilación; paso 24 de 26 en Biblioteca estándar y estructura del proyecto.