|
![]() ![]() package main |
If no exported identifiers is directly used from |
import ( //_ "embed" "embed" ) |
Since one file is defined after the directive, the compiler will only include
this single file, followed by variable |
//go:embed example_folder/single_file.txt var single_file_string string |
Here is a similar example but include single file as |
//go:embed example_folder/single_file.txt var single_file_byte []byte |
We can also embed multiple files or even folders with wildcard. |
//go:embed example_folder/single_file.txt //go:embed example_folder/*.hash var folder_FS embed.FS |
func main() { |
|
Print out content of |
print(single_file_string) |
Now handle |
print(string(single_file_byte)) |
Retrieve file(s) matching |
hash_file1 := "example_folder/multi_file1.hash" hash_file2 := "example_folder/multi_file2.hash" hash_content1, _ := folder_FS.ReadFile(hash_file1) hash_content2, _ := folder_FS.ReadFile(hash_file2) print(string(hash_content1)) print(string(hash_content2)) |
}
|
Use these commands to run the example. (Note: due to limitation on go playground, this example can only be run on your local machine.) |
$ mkdir -p example_folder $ echo "hello go" > example_folder/single_file.txt $ echo "123" > example_folder/multi_file1.hash $ echo "456" > example_folder/multi_file2.hash |
$ go run embed-directive.go hello go hello go 123 456 |
Next example: Testing and Benchmarking.