From e2d9dc777248cedd3fef2f06f1feaa98198b08f0 Mon Sep 17 00:00:00 2001 From: telluz Date: Wed, 17 Apr 2019 14:08:33 +0200 Subject: [PATCH] Update go.md Lazy input with defer, independent of where where its defined in codeland --- go.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/go.md b/go.md index c6be8bd77..0ebe4bdf2 100644 --- a/go.md +++ b/go.md @@ -422,10 +422,24 @@ func main() { fmt.Println("Working...") } ``` + {: data-line="2,3,4"} Lambdas are better suited for defer blocks. +```go +func main() { + var d = int64(0) + defer func(d *int64) { + fmt.Printf("& %v Unix Sec\n", *d) + }(&d) + fmt.Print("Done ") + d = time.Now().Unix() +} +``` +{: data-line="3,4,5"} +The defer func uses current value of d, unless we use a pointer to get final value at end of main. + ## Structs {: .-three-column}