Ahh, found it but you beat me to it.

Apparently the sample code that I'm referring to,
https://github.com/treeverse/blogs/blob/master/mypostcard/main.go
from https://lakefs.io/working-with-embed-in-go/
is outdated. 

Thanks!

On Sunday, October 10, 2021 at 12:20:42 PM UTC-4 seank...@gmail.com wrote:

> import _ "embed"
>
> It means to import it for side effects only
>
> On Sunday, October 10, 2021 at 6:12:07 PM UTC+2 sunto...@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/4f792810-ecad-4544-8732-c3ae4f4b30c8n%40googlegroups.com.

Reply via email to