If you're not directly using symbols from embed, import it with an _ alias,
eg:

import _ "embed"

-- Marcin

On Sun, Oct 10, 2021 at 9:12 AM Tong Sun <suntong...@gmail.com> wrote:

> 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
> <https://groups.google.com/d/msgid/golang-nuts/4124bd7e-f5b1-4259-a433-05959021d05cn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CA%2Bv29LuWF2OPzv1i1N2CWtYQePB%2BaqgmPQzNmA6HhkchGTb62w%40mail.gmail.com.

Reply via email to