Hi, I'm having problem using embed with Go 1.16. I'm getting ether
- //go:embed only allowed in Go files that import "embed" - or imported and not used: "embed" The test code is published at https://github.com/suntong/lang/tree/master/lang/Go/src/ds/embed here are the details: If I remove the "embed" Go import, I'll get: $ go build # github.com/suntong/lang/lang/Go/src/ds/embed ./embeding.go:17:3: //go:embed only allowed in Go files that import "embed" If I add back the "embed" Go import, I'll get: $ go build # github.com/suntong/lang/lang/Go/src/ds/embed ./embeding.go:11:2: imported and not used: "embed" $ go version go version go1.16.6 linux/amd64 $ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux bullseye/sid Release: 10.10 Codename: buster The main file: ------------------------------- package main import ( "embed" "flag" "fmt" "os" ) //go:embed cpuArch.txt var cpuArch string func usage() { // Fprintf allows us to print to a specifed file handle or stream fmt.Fprintf(os.Stderr, "\nUsage: %s [flags] file [path ...]\n\n", "CommandLineFlag") // os.Args[0] flag.PrintDefaults() os.Exit(0) } func main() { fmt.Printf("Before parsing the flags\n") fmt.Printf("CPU: '%s'\n", cpuArch) flag.StringVar(&cpuArch, "cpu", "AMD64", "CPU Arch") flag.Usage = usage flag.Parse() // There is also a mandatory non-flag arguments if len(flag.Args()) < 1 { usage() } fmt.Printf("\nAfter parsing the flags\n") fmt.Printf("CPU: '%s'\n", cpuArch) } ------------------------------- -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/4124bd7e-f5b1-4259-a433-05959021d05cn%40googlegroups.com.