{"id":82120,"date":"2024-10-31T23:27:16","date_gmt":"2024-10-31T19:57:16","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/10-go-tricks-every-go-programmer-needs-in-their-toolkit-3o14\/"},"modified":"2024-10-31T23:27:16","modified_gmt":"2024-10-31T19:57:16","slug":"10-go-tricks-every-go-programmer-needs-in-their-toolkit-3o14","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/10-go-tricks-every-go-programmer-needs-in-their-toolkit-3o14\/","title":{"rendered":"\ud83e\uddab 10 \u062a\u0631\u0641\u0646\u062f Go \u06a9\u0647 \u0647\u0631 \u0628\u0631\u0646\u0627\u0645\u0647 \u0646\u0648\u06cc\u0633 Go \u0628\u0647 \u0622\u0646 \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u062f \u062f\u0631 \u062c\u0639\u0628\u0647 \u0627\u0628\u0632\u0627\u0631 \u062e\u0648\u062f!"},"content":{"rendered":"<p>Summarize this content to 400 words in Persian Lang Go \u0645\u0627\u0646\u0646\u062f \u0622\u0646 \u062f\u0648\u0633\u062a\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f \u0641\u0648\u0642 \u0627\u0644\u0639\u0627\u062f\u0647 \u0633\u0631\u062f \u0627\u0633\u062a \u0627\u0645\u0627 \u0627\u0633\u062a\u0639\u062f\u0627\u062f\u0647\u0627\u06cc \u0634\u06af\u0641\u062a \u0627\u0646\u06af\u06cc\u0632\u06cc \u062f\u0631 \u0622\u0633\u062a\u06cc\u0646 \u062e\u0648\u062f \u062f\u0627\u0631\u062f. \u062f\u0631 \u0638\u0627\u0647\u0631 \u0633\u0627\u062f\u0647 \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f\u060c \u0627\u0645\u0627 \u0686\u06cc\u0632\u0647\u0627\u06cc \u0632\u06cc\u0627\u062f\u06cc \u0628\u0631\u0627\u06cc \u0628\u0627\u0632 \u06a9\u0631\u062f\u0646 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646\u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0647 \u062f\u0647 \u062a\u0631\u0641\u0646\u062f Go \u0628\u0631\u0648\u06cc\u0645 \u06a9\u0647 \u0647\u0631 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647\u200c\u0627\u06cc \u0628\u0627\u06cc\u062f \u0628\u062f\u0627\u0646\u062f &#8211; \u0648 \u0645\u0646 \u0686\u0646\u062f \u0645\u062b\u0627\u0644 \u0645\u06cc\u200c\u0622\u0648\u0631\u0645 \u062a\u0627 \u0622\u0646 \u0631\u0627 \u0628\u06cc\u0634\u062a\u0631 \u0631\u0648\u0634\u0646 \u06a9\u0646\u0645!<\/p>\n<p>  1. \u0628\u0631 \u0642\u062f\u0631\u062a \u06af\u0648\u0631\u0648\u062a\u06cc\u0646 \u0647\u0627 \u0645\u0633\u0644\u0637 \u0634\u0648\u06cc\u062f<\/p>\n<p>\u06af\u0648\u0631\u0648\u062a\u06cc\u0646 \u0647\u0627 \u0645\u0627\u0646\u0646\u062f \u0632\u0646\u0628\u0648\u0631\u0647\u0627\u06cc \u06a9\u0627\u0631\u06af\u0631 \u06a9\u0648\u0686\u06a9\u06cc \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u0686\u0646\u062f\u0648\u0638\u06cc\u0641\u0647 \u0627\u06cc \u0631\u0627 \u0646\u0633\u06cc\u0645 \u0645\u06cc \u06a9\u0646\u0646\u062f. \u0634\u0645\u0627 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0627 \u0631\u0641\u062a\u0646 \u06a9\u0646\u0627\u0631 \u0645\u06cc \u06af\u0630\u0627\u0631\u06cc\u062f \u0648 \u0628\u0647 \u0622\u0646\u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u06cc\u062f \u06a9\u0627\u0631\u0634\u0627\u0646 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u0646\u062f. \u0641\u0642\u0637 \u0641\u0631\u0627\u0645\u0648\u0634 \u0646\u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u062f! sync.WaitGroup \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f\u060c \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0631\u062f\u06cc\u0627\u0628\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0647\u0645\u0647 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u0634\u0645\u0627 \u0686\u0647 \u0632\u0645\u0627\u0646\u06cc \u062a\u0645\u0627\u0645 \u0634\u062f\u0647\u200c\u0627\u0646\u062f.<\/p>\n<p>package main<\/p>\n<p>import (<br \/>\n    &#8220;fmt&#8221;<br \/>\n    &#8220;sync&#8221;<br \/>\n    &#8220;time&#8221;<br \/>\n)<\/p>\n<p>func worker(id int, wg *sync.WaitGroup) {<br \/>\n    defer wg.Done() \/\/ Signals this worker is done<br \/>\n    fmt.Printf(&#8220;Worker %d starting\\n&#8221;, id)<br \/>\n    time.Sleep(time.Second) \/\/ Simulate some work<br \/>\n    fmt.Printf(&#8220;Worker %d done\\n&#8221;, id)<br \/>\n}<\/p>\n<p>func main() {<br \/>\n    var wg sync.WaitGroup<br \/>\n    for i := 1; i &lt;= 3; i++ {<br \/>\n        wg.Add(1)<br \/>\n        go worker(i, &amp;wg)<br \/>\n    }<br \/>\n    wg.Wait() \/\/ Waits for all goroutines to finish<br \/>\n    fmt.Println(&#8220;All workers done!&#8221;)<br \/>\n}<\/p>\n<p>\u0627\u06cc\u0646 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f\u060c \u0648 \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u06cc\u062f \u06a9\u0647 \u0647\u0631 &#8220;\u06a9\u0627\u0631\u06af\u0631&#8221; \u06a9\u0627\u0631 \u062e\u0648\u062f \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f\u060c \u0633\u067e\u0633 \u06cc\u06a9 &#8220;\u0647\u0645\u0647 \u06a9\u0627\u0631\u06af\u0631\u0627\u0646 \u062a\u0645\u0627\u0645 \u0634\u062f!&#8221; \u062f\u0631 \u067e\u0627\u06cc\u0627\u0646 \u0634\u06cc\u0631\u06cc\u0646!<\/p>\n<p>  2. \u06a9\u0627\u0646\u0627\u0644: \u0633\u0644\u0627\u062d \u0645\u062e\u0641\u06cc Go<\/p>\n<p>\u06a9\u0627\u0646\u0627\u0644\u200c\u0647\u0627 \u0631\u0627\u0647\u06cc \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 Go \u0645\u06cc\u200c\u06af\u0648\u06cc\u062f: \u00ab\u067e\u06cc\u0627\u0645 \u0631\u0627 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0646!\u00bb \u0628\u0627 chan\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0628\u06cc\u0646 \u06af\u0648\u0631\u0648\u062a\u06cc\u0646 \u0647\u0627 \u0627\u0631\u0633\u0627\u0644 \u0648 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f. \u0627\u06af\u0631 \u0686\u062a \u0647\u0627\u06cc \u0632\u06cc\u0627\u062f\u06cc \u062f\u0627\u0631\u06cc\u062f\u060c \u0627\u0632 \u0627\u0646\u062a\u062e\u0627\u0628 \u0628\u0631\u0627\u06cc \u06af\u0648\u0634 \u062f\u0627\u062f\u0646 \u0647\u0645\u0632\u0645\u0627\u0646 \u0628\u0647 \u0686\u0646\u062f\u06cc\u0646 \u06a9\u0627\u0646\u0627\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0627\u067e\u0631\u0627\u062a\u0648\u0631 \u062a\u0627\u0628\u0644\u0648 \u0628\u0631\u0642 \u0628\u0631\u0627\u06cc \u06af\u0648\u0631\u0648\u062a\u06cc\u0646 \u0627\u0633\u062a.<\/p>\n<p>package main<\/p>\n<p>import &#8220;fmt&#8221;<\/p>\n<p>func main() {<br \/>\n    ch := make(chan string)<\/p>\n<p>    go func() {<br \/>\n        ch &lt;- &#8220;Hello from goroutine!&#8221;<br \/>\n    }()<\/p>\n<p>    message := &lt;-ch<br \/>\n    fmt.Println(message) \/\/ Output: Hello from goroutine!<br \/>\n}<\/p>\n<p>\u0622\u0646 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f\u060c \u0648 \u067e\u06cc\u0627\u0645\u06cc \u0631\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u06cc\u062f \u06a9\u0647 \u0627\u0632 \u06af\u0648\u0631\u0648\u062a\u06cc\u0646 \u0645\u0627 \u062f\u0631 \u062a\u0627\u0628\u0639 \u0627\u0635\u0644\u06cc \u0638\u0627\u0647\u0631 \u0645\u06cc \u0634\u0648\u062f. \u0628\u0648\u0645\u060c \u0627\u0631\u062a\u0628\u0627\u0637 \u0641\u0648\u0631\u06cc!<\/p>\n<p>  3. \u0622\u0645\u0648\u0632\u0634 defer \u0628\u0631\u0627\u06cc Elegant Code Cleanup<\/p>\n<p>\u06a9\u0644\u0645\u0647 \u06a9\u0644\u06cc\u062f\u06cc defer \u0645\u0627\u0646\u0646\u062f \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0628\u06af\u0648\u06cc\u06cc\u062f: &#8220;\u0627\u06cc\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0622\u062e\u0631 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f!&#8221; \u0628\u0631\u0627\u06cc \u067e\u0627\u06a9\u0633\u0627\u0632\u06cc \u0639\u0627\u0644\u06cc \u0627\u0633\u062a\u2014\u0645\u0627\u0646\u0646\u062f \u0628\u0633\u062a\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u060c \u0622\u0632\u0627\u062f \u06a9\u0631\u062f\u0646 \u0642\u0641\u0644\u200c\u0647\u0627\u060c \u0648 \u063a\u06cc\u0631\u0647. \u06a9\u062f \u0634\u0645\u0627 \u0645\u0631\u062a\u0628 \u0628\u0627\u0642\u06cc \u0645\u06cc\u200c\u0645\u0627\u0646\u062f \u0648 \u0627\u062d\u062a\u0645\u0627\u0644 \u0627\u06cc\u0646\u06a9\u0647 \u0645\u0631\u0627\u062d\u0644 \u067e\u0627\u06a9\u0633\u0627\u0632\u06cc \u0631\u0627 \u0641\u0631\u0627\u0645\u0648\u0634 \u06a9\u0646\u06cc\u062f \u06a9\u0645\u062a\u0631 \u0627\u0633\u062a.<\/p>\n<p>package main<\/p>\n<p>import (<br \/>\n    &#8220;fmt&#8221;<br \/>\n    &#8220;os&#8221;<br \/>\n)<\/p>\n<p>func main() {<br \/>\n    file, err := os.Create(&#8220;example.txt&#8221;)<br \/>\n    if err != nil {<br \/>\n        panic(err)<br \/>\n    }<br \/>\n    defer file.Close() \/\/ This will always run last<\/p>\n<p>    fmt.Fprintln(file, &#8220;Hello, defer!&#8221;) \/\/ Write to the file<br \/>\n}<\/p>\n<p>\u0628\u0627 defer\u060c \u067e\u0631\u0648\u0646\u062f\u0647 \u0628\u062f\u0648\u0646 \u062a\u0648\u062c\u0647 \u0628\u0647 \u0647\u0631 \u0627\u062a\u0641\u0627\u0642\u06cc \u0628\u0633\u062a\u0647 \u0645\u06cc \u0634\u0648\u062f\u060c \u062d\u062a\u06cc \u0627\u06af\u0631 \u06cc\u06a9 \u0648\u062d\u0634\u062a \u0648\u062c\u0648\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f. \u0645\u062b\u0644 \u062f\u0627\u0634\u062a\u0646 \u06cc\u06a9 \u0634\u0628\u06a9\u0647 \u0627\u06cc\u0645\u0646\u06cc \u062f\u0627\u062e\u0644\u06cc \u0627\u0633\u062a!<\/p>\n<p>  4. \u0645\u062f\u06cc\u0631\u06cc\u062a \u062e\u0637\u0627 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u062d\u0631\u0641\u0647 \u0627\u06cc<\/p>\n<p>Go \u0627\u0633\u062a\u062b\u0646\u0627\u0647\u0627\u06cc \u0641\u0627\u0646\u062a\u0632\u06cc \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0646\u0645\u06cc \u062f\u0647\u062f. \u062e\u0637\u0627\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0634\u06cc \u0633\u0627\u062f\u0647 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f. \u062f\u0631 \u0647\u0631 \u0645\u0631\u062d\u0644\u0647 \u062e\u0637\u0627\u0647\u0627 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0648 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0628\u0647 \u067e\u06cc\u0627\u0645 \u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f\u060c \u0627\u0646\u0648\u0627\u0639 \u062e\u0637\u0627\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f!<\/p>\n<p>package main<\/p>\n<p>import (<br \/>\n    &#8220;errors&#8221;<br \/>\n    &#8220;fmt&#8221;<br \/>\n)<\/p>\n<p>func divide(a, b float64) (float64, error) {<br \/>\n    if b == 0 {<br \/>\n        return 0, errors.New(&#8220;cannot divide by zero&#8221;)<br \/>\n    }<br \/>\n    return a \/ b, nil<br \/>\n}<\/p>\n<p>func main() {<br \/>\n    result, err := divide(4, 0)<br \/>\n    if err != nil {<br \/>\n        fmt.Println(&#8220;Error:&#8221;, err)<br \/>\n        return<br \/>\n    }<br \/>\n    fmt.Println(&#8220;Result:&#8221;, result)<br \/>\n}<\/p>\n<p>\u0627\u06af\u0631 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0633\u0639\u06cc \u06a9\u0646\u06cc\u062f \u0628\u0631 \u0635\u0641\u0631 \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0646\u06cc\u062f\u060c \u06cc\u06a9 \u067e\u06cc\u0627\u0645 \u062e\u0637\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0632\u06cc\u0628\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f. \u0628\u0633\u06cc\u0627\u0631 \u062a\u0645\u06cc\u0632\u062a\u0631 \u0627\u0632 \u062a\u0635\u0627\u062f\u0641\u0627\u062a \u0645\u0631\u0645\u0648\u0632!<\/p>\n<p>  5. \u0631\u0627\u0628\u0637 \u0647\u0627: \u0628\u06cc\u0634 \u0627\u0632 \u0627\u0646\u062a\u0632\u0627\u0639\u0627\u062a<\/p>\n<p>\u062f\u0631 Go\u060c \u0631\u0627\u0628\u0637 \u0647\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f \u0631\u0641\u062a\u0627\u0631 \u0647\u0633\u062a\u0646\u062f\u060c \u0646\u0647 \u0648\u0631\u0627\u062b\u062a. \u0647\u0645\u0647 \u0622\u0646\u0647\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f &#8220;\u0627\u06af\u0631 \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0627\u0631\u062f\u06a9 \u0648 \u06a9\u0648\u06a9 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0627\u0631\u062f\u06a9\u060c \u0622\u0646 \u0631\u0627 \u06cc\u06a9 \u0627\u0631\u062f\u06a9!&#8221; \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0633\u0627\u062f\u0647 \u0648 \u0645\u062a\u0645\u0631\u06a9\u0632 \u0646\u06af\u0647 \u062f\u0627\u0631\u06cc\u062f.<\/p>\n<p>package main<\/p>\n<p>import &#8220;fmt&#8221;<\/p>\n<p>type Speaker interface {<br \/>\n    Speak() string<br \/>\n}<\/p>\n<p>type Dog struct{}<br \/>\ntype Cat struct{}<\/p>\n<p>func (d Dog) Speak() string { return &#8220;Woof!&#8221; }<br \/>\nfunc (c Cat) Speak() string { return &#8220;Meow!&#8221; }<\/p>\n<p>func makeSound(s Speaker) {<br \/>\n    fmt.Println(s.Speak())<br \/>\n}<\/p>\n<p>func main() {<br \/>\n    makeSound(Dog{}) \/\/ Output: Woof!<br \/>\n    makeSound(Cat{}) \/\/ Output: Meow!<br \/>\n}<\/p>\n<p>\u0627\u06a9\u0646\u0648\u0646\u060c \u0647\u0631 \u0633\u0627\u062e\u062a\u0627\u0631\u06cc \u06a9\u0647 \u0645\u062a\u062f Speak \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0627 makeSound \u06a9\u0627\u0631 \u06a9\u0646\u062f. \u06a9\u062f \u06a9\u0645\u062a\u0631\u060c \u0627\u0646\u0639\u0637\u0627\u0641 \u067e\u0630\u06cc\u0631\u06cc \u0628\u06cc\u0634\u062a\u0631!<\/p>\n<p>  6. \u0628\u0627 \u062a\u06af \u0647\u0627\u06cc Struct \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/p>\n<p>\u062a\u06af\u200c\u0647\u0627\u06cc Struct \u0645\u0627\u0646\u0646\u062f \u06cc\u0627\u062f\u062f\u0627\u0634\u062a\u200c\u0647\u0627\u06cc \u0686\u0633\u0628\u0646\u0627\u06a9 \u06a9\u0648\u0686\u06a9\u06cc \u062f\u0631 \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u0633\u0627\u062e\u062a\u0627\u0631 \u0634\u0645\u0627 \u0647\u0633\u062a\u0646\u062f. \u0622\u0646\u0647\u0627 \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0647\u0627\u06cc \u062e\u0627\u0631\u062c\u06cc \u0645\u06cc \u06af\u0648\u06cc\u0646\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0627\u0632 \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u0634\u0645\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f\u060c \u062e\u0648\u0627\u0647 \u0628\u0627 JSON\u060c XML \u06cc\u0627 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0633\u0631\u0648\u06a9\u0627\u0631 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f. json:&#8221;-&#8221; \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u0627\u062f\u06cc\u062f\u0647 \u06af\u0631\u0641\u062a\u0646 \u0641\u06cc\u0644\u062f\u0647\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u0628\u0631\u0627\u06cc \u0631\u062f \u0634\u062f\u0646 \u0627\u0632 \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u062e\u0627\u0644\u06cc \u0622\u0646 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f.<\/p>\n<p>package main<\/p>\n<p>import (<br \/>\n    &#8220;encoding\/json&#8221;<br \/>\n    &#8220;fmt&#8221;<br \/>\n)<\/p>\n<p>type Person struct {<br \/>\n    Name  string `json:&#8221;name&#8221;`<br \/>\n    Age   int    `json:&#8221;age,omitempty&#8221;` \/\/ Will skip if zero<br \/>\n    Email string `json:&#8221;-&#8220;`<br \/>\n}<\/p>\n<p>func main() {<br \/>\n    p := Person{Name: &#8220;John&#8221;, Age: 0, Email: &#8220;john@example.com&#8221;}<br \/>\n    data, _ := json.Marshal(p)<br \/>\n    fmt.Println(string(data)) \/\/ Output: {&#8220;name&#8221;:&#8221;John&#8221;}<br \/>\n}<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627\u060c \u0627\u06cc\u0645\u06cc\u0644 \u0646\u0627\u062f\u06cc\u062f\u0647 \u06af\u0631\u0641\u062a\u0647 \u0645\u06cc \u0634\u0648\u062f \u0648 \u0633\u0646 \u0628\u0647 \u062f\u0644\u06cc\u0644 \u0635\u0641\u0631 \u0628\u0648\u062f\u0646 \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0647 \u0646\u0645\u06cc \u0634\u0648\u062f. \u0627\u06cc\u062f\u0647 \u0622\u0644 \u0628\u0631\u0627\u06cc JSON \u062a\u0645\u06cc\u0632\u062a\u0631 \u0648 \u0633\u0628\u06a9 \u062a\u0631!<\/p>\n<p>  7. \u0645\u062d\u06a9 \u0632\u062f\u0646 \u0628\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0631\u0639\u062f \u0648 \u0628\u0631\u0642<\/p>\n<p>\u0622\u06cc\u0627 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u062f\u0627\u0646\u06cc\u062f \u0633\u0631\u0639\u062a \u06a9\u062f \u0634\u0645\u0627 \u0686\u0642\u062f\u0631 \u0627\u0633\u062a\u061f \u0628\u0633\u062a\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc Go \u062f\u0627\u0631\u0627\u06cc \u0628\u0646\u0686\u0645\u0627\u0631\u06a9 \u062f\u0627\u062e\u0644\u06cc \u0627\u0633\u062a. \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u06af\u0644\u0648\u06af\u0627\u0647\u200c\u0647\u0627 \u0631\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f \u0648 \u0642\u0628\u0644 \u0627\u0632 \u0634\u0631\u0648\u0639 \u0628\u0647 \u06a9\u0627\u0631 \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p>package main<\/p>\n<p>import (<br \/>\n    &#8220;testing&#8221;<br \/>\n)<\/p>\n<p>func add(a, b int) int {<br \/>\n    return a + b<br \/>\n}<\/p>\n<p>func BenchmarkAdd(b *testing.B) {<br \/>\n    for i := 0; i &lt; b.N; i++ {<br \/>\n        add(1, 2)<br \/>\n    }<br \/>\n}<\/p>\n<p>Run go test-bench . \u0648 \u0628\u0627\u0632\u062e\u0648\u0631\u062f \u0641\u0648\u0631\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u0639\u0645\u0644\u06a9\u0631\u062f \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f. \u062d\u062a\u06cc \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u06a9\u0648\u0686\u06a9 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062a\u0641\u0627\u0648\u062a \u0632\u06cc\u0627\u062f\u06cc \u062f\u0631 \u0633\u0631\u0639\u062a \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u062f!<\/p>\n<p>  8. \u0628\u0631\u0634 \u0647\u0627\u06cc \u0627\u0647\u0631\u0645\u06cc \u0628\u0631\u0627\u06cc \u0622\u0631\u0627\u06cc\u0647 \u0647\u0627\u06cc \u067e\u0648\u06cc\u0627<\/p>\n<p>Slices \u0622\u0631\u0627\u06cc\u0647 \u0647\u0627\u06cc \u067e\u0648\u06cc\u0627 Go \u0647\u0633\u062a\u0646\u062f\u060c \u0627\u0645\u0627 \u0628\u0627 \u06a9\u0645\u06cc \u0627\u0646\u0639\u0637\u0627\u0641 \u0628\u06cc\u0634\u062a\u0631. \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u0627\u0641\u0632\u0648\u062f\u0646 \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u06af\u0633\u062a\u0631\u0634 \u062f\u0647\u06cc\u062f \u0648 \u0641\u0636\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc \u0631\u0627 \u0627\u0632 \u0642\u0628\u0644 \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0647\u06cc\u062f \u062a\u0627 \u06a9\u0627\u0631\u0647\u0627 \u06a9\u0627\u0631\u0622\u0645\u062f \u0628\u0627\u0634\u0646\u062f.<\/p>\n<p>package main<\/p>\n<p>import &#8220;fmt&#8221;<\/p>\n<p>func main() {<br \/>\n    numbers := make([]int, 0, 5) \/\/ Capacity of 5<br \/>\n    numbers = append(numbers, 1, 2, 3)<br \/>\n    fmt.Println(numbers)      \/\/ Output: [1 2 3]\n    fmt.Println(cap(numbers)) \/\/ Output: 5<br \/>\n}<\/p>\n<p>\u0628\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0639\u0646\u0627\u0635\u0631\u060c \u0628\u0631\u0634 \u0647\u0627 \u0631\u0634\u062f \u0645\u06cc \u06a9\u0646\u0646\u062f\u060c \u0627\u0645\u0627 \u062a\u062e\u0635\u06cc\u0635 \u0638\u0631\u0641\u06cc\u062a \u0627\u0632 \u0642\u0628\u0644 (\u0645\u0627\u0646\u0646\u062f \u0627\u06cc\u0646\u062c\u0627 \u0628\u0627 5) \u06a9\u0645\u06cc \u0633\u0631\u0639\u062a \u0631\u0627 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<p>  9. \u0646\u0642\u0634\u0647 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0631\u0626\u06cc\u0633<\/p>\n<p>\u0646\u0642\u0634\u0647 \u0647\u0627 \u0633\u0631\u06cc\u0639 \u0648 \u0622\u0633\u0627\u0646 \u0647\u0633\u062a\u0646\u062f\u060c \u0627\u0645\u0627 \u0627\u0632 \u0646\u0638\u0631 \u0631\u0634\u062a\u0647 \u0627\u06cc \u0627\u06cc\u0645\u0646 \u0646\u06cc\u0633\u062a\u0646\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u06af\u0631 \u0627\u0632 \u0622\u0646\u200c\u0647\u0627 \u0628\u0627 \u06af\u0648\u0631\u0648\u062a\u06cc\u0646\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 sync.RWMutex \u0628\u067e\u06cc\u0686\u06cc\u062f \u062a\u0627 \u0627\u0632 \u0648\u062d\u0634\u062a \u0648 \u0628\u0627\u06af\u200c\u0647\u0627\u06cc \u0639\u062c\u06cc\u0628 \u0648 \u063a\u0631\u06cc\u0628 \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u06a9\u0646\u06cc\u062f.<\/p>\n<p>package main<\/p>\n<p>import (<br \/>\n    &#8220;fmt&#8221;<br \/>\n    &#8220;sync&#8221;<br \/>\n)<\/p>\n<p>func main() {<br \/>\n    m := make(map[string]int)<br \/>\n    var mu sync.RWMutex<\/p>\n<p>    \/\/ Write<br \/>\n    mu.Lock()<br \/>\n    m[&#8220;key&#8221;] = 42<br \/>\n    mu.Unlock()<\/p>\n<p>    \/\/ Read<br \/>\n    mu.RLock()<br \/>\n    fmt.Println(m[&#8220;key&#8221;]) \/\/ Output: 42<br \/>\n    mu.RUnlock()<br \/>\n}<\/p>\n<p>\u0628\u0627 sync.RWMutex\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u062e\u06cc\u0627\u0644 \u0631\u0627\u062d\u062a \u0646\u0642\u0634\u0647 \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u0647\u0645\u0632\u0645\u0627\u0646 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f \u0648 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f. \u0635\u0627\u0641 \u0648 \u0627\u06cc\u0645\u0646!<\/p>\n<p>  10. \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u062d\u0631\u0641\u0647 \u0627\u06cc \u0628\u0627 \u0628\u0633\u062a\u0647 \u0628\u0646\u062f\u06cc \u062f\u0627\u062e\u0644\u06cc Go<\/p>\n<p>\u062f\u0631 Go\u060c \u0633\u0641\u0627\u0631\u0634 \u0628\u0631\u0634 \u0647\u0627 \u0628\u0633\u06cc\u0627\u0631 \u0622\u0633\u0627\u0646 \u0627\u0633\u062a. \u0622\u06cc\u0627 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u0627\u0639\u062f\u0627\u062f \u0635\u062d\u06cc\u062d\u060c \u0631\u0634\u062a\u0647 \u0647\u0627 \u06cc\u0627 \u0647\u0631 \u0642\u0637\u0639\u0647 \u0627\u0633\u0627\u0633\u06cc \u062f\u06cc\u06af\u0631 \u062f\u0627\u0631\u06cc\u062f\u061f \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u062a\u0648\u0627\u0628\u0639 \u0622\u0645\u0627\u062f\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u062f\u0627\u0631\u062f! \u0627\u0645\u0627 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0628\u062e\u0634\u060c \u0627\u0646\u0639\u0637\u0627\u0641 \u067e\u0630\u06cc\u0631\u06cc \u0633\u0641\u0627\u0631\u0634 \u0628\u0631\u0634 \u0647\u0627\u06cc \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 sort.Slice \u0627\u0633\u062a. \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0635\u0639\u0648\u062f\u06cc\u060c \u0646\u0632\u0648\u0644\u06cc \u06cc\u0627 \u0628\u0627 \u0647\u0631 \u0645\u0639\u06cc\u0627\u0631\u06cc \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0645\u0631\u062a\u0628 \u06a9\u0646\u06cc\u062f!<\/p>\n<p>\u0645\u062b\u0627\u0644: \u062a\u0631\u062a\u06cc\u0628 \u0631\u0634\u062a\u0647 \u0647\u0627\u060c \u0627\u0639\u062f\u0627\u062f \u0648 \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc<br \/>\n\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0627 \u06cc\u06a9 \u0645\u062b\u0627\u0644 \u0633\u0627\u062f\u0647 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u0645: \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u0627\u0639\u062f\u0627\u062f \u0635\u062d\u06cc\u062d \u0648 \u0631\u0634\u062a\u0647 \u0647\u0627.<\/p>\n<p>package main<\/p>\n<p>import (<br \/>\n    &#8220;fmt&#8221;<br \/>\n    &#8220;sort&#8221;<br \/>\n)<\/p>\n<p>func main() {<br \/>\n    numbers := []int{5, 2, 7, 3, 9}<br \/>\n    sort.Ints(numbers)<br \/>\n    fmt.Println(&#8220;Sorted Numbers:&#8221;, numbers) \/\/ Output: [2 3 5 7 9]\n<p>    words := []string{&#8220;banana&#8221;, &#8220;apple&#8221;, &#8220;cherry&#8221;}<br \/>\n    sort.Strings(words)<br \/>\n    fmt.Println(&#8220;Sorted Words:&#8221;, words) \/\/ Output: [apple banana cherry]\n}<\/p>\n<p>\u062f\u06cc\u062f\u06cc \u06a9\u0647\u061f \u062a\u0648\u0627\u0628\u0639 sort.Ints \u0648 sort.strings \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0631\u0627 \u0628\u0647 \u0633\u0631\u0639\u062a \u0645\u0631\u062a\u0628 \u0645\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<p>  \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc: \u0646\u0645\u0648\u0646\u0647 \u0627\u06cc \u0627\u0632 \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0628\u0627 sort.Slice<\/p>\n<p>\u0628\u0631\u0627\u06cc \u0686\u06cc\u0632\u0647\u0627\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u062a\u0631\u060c \u0645\u0627\u0646\u0646\u062f \u0645\u0631\u062a\u0628 \u06a9\u0631\u062f\u0646 \u0644\u06cc\u0633\u062a\u06cc \u0627\u0632 \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u060c \u062a\u0627\u0628\u0639 sort.Slice \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0645\u0639\u06cc\u0627\u0631\u0647\u0627\u06cc \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0645\u062b\u0627\u0644 \u0628\u0627 \u0644\u06cc\u0633\u062a\u06cc \u0627\u0632 \u0627\u0641\u0631\u0627\u062f\u060c \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0633\u0646 \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.<\/p>\n<p>package main<\/p>\n<p>import (<br \/>\n    &#8220;fmt&#8221;<br \/>\n    &#8220;sort&#8221;<br \/>\n)<\/p>\n<p>type Person struct {<br \/>\n    Name string<br \/>\n    Age  int<br \/>\n}<\/p>\n<p>func main() {<br \/>\n    people := []Person{<br \/>\n        {&#8220;Alice&#8221;, 30},<br \/>\n        {&#8220;Bob&#8221;, 25},<br \/>\n        {&#8220;Charlie&#8221;, 35},<br \/>\n    }<\/p>\n<p>    \/\/ Sort by age<br \/>\n    sort.Slice(people, func(i, j int) bool {<br \/>\n        return people[i].Age &lt; people[j].Age \/\/ increasing age<br \/>\n    })<\/p>\n<p>    fmt.Println(&#8220;Sorted by Age:&#8221;, people)<\/p>\n<p>    \/\/ Sort by name (alphabetical)<br \/>\n    sort.Slice(people, func(i, j int) bool {<br \/>\n        return people[i].Name &lt; people[j].Name<br \/>\n    })<\/p>\n<p>    fmt.Println(&#8220;Sorted by Name:&#8221;, people)<br \/>\n}<\/p>\n<p>\u0645\u0647\u0645 \u0646\u06cc\u0633\u062a \u06a9\u0647 \u0633\u0627\u062e\u062a\u0627\u0631 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0634\u0645\u0627 \u0686\u0642\u062f\u0631 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0627\u0633\u062a\u060c sort.Slice \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0634\u06cc \u0634\u062e\u0635\u06cc\u200c\u0633\u0627\u0632\u06cc \u0634\u062f\u0647 \u0645\u0631\u062a\u0628 \u06a9\u0646\u06cc\u062f\u060c \u0641\u0642\u0637 \u0628\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u0639\u0645\u0644\u06a9\u0631\u062f\u06cc \u06a9\u0647 \u062f\u0648 \u0645\u0648\u0631\u062f \u0631\u0627 \u0628\u0627 \u0647\u0645 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0627\u0645\u0631 \u0632\u0646\u062f\u06af\u06cc \u0631\u0627 \u062a\u0627 \u062d\u062f \u0632\u06cc\u0627\u062f\u06cc \u0633\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0627\u0632 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0627\u062c\u0631\u0627\u06cc \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0647\u0627\u06cc \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0647\u06a9 \u0645\u0628\u0627\u0631\u06a9\u060c Gophers! \ud83e\uddab<\/p>\n<p>Go \u0645\u0627\u0646\u0646\u062f \u0622\u0646 \u062f\u0648\u0633\u062a\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f \u0641\u0648\u0642 \u0627\u0644\u0639\u0627\u062f\u0647 \u0633\u0631\u062f \u0627\u0633\u062a \u0627\u0645\u0627 \u0627\u0633\u062a\u0639\u062f\u0627\u062f\u0647\u0627\u06cc \u0634\u06af\u0641\u062a \u0627\u0646\u06af\u06cc\u0632\u06cc \u062f\u0631 \u0622\u0633\u062a\u06cc\u0646 \u062e\u0648\u062f \u062f\u0627\u0631\u062f. \u062f\u0631 \u0638\u0627\u0647\u0631 \u0633\u0627\u062f\u0647 \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f\u060c \u0627\u0645\u0627 \u0686\u06cc\u0632\u0647\u0627\u06cc \u0632\u06cc\u0627\u062f\u06cc \u0628\u0631\u0627\u06cc \u0628\u0627\u0632 \u06a9\u0631\u062f\u0646 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646\u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0647 \u062f\u0647 \u062a\u0631\u0641\u0646\u062f Go \u0628\u0631\u0648\u06cc\u0645 \u06a9\u0647 \u0647\u0631 \u062a\u0648\u0633\u0639\u0647\u200c\u062f\u0647\u0646\u062f\u0647\u200c\u0627\u06cc \u0628\u0627\u06cc\u062f \u0628\u062f\u0627\u0646\u062f &#8211; \u0648 \u0645\u0646 \u0686\u0646\u062f \u0645\u062b\u0627\u0644 \u0645\u06cc\u200c\u0622\u0648\u0631\u0645 \u062a\u0627 \u0622\u0646 \u0631\u0627 \u0628\u06cc\u0634\u062a\u0631 \u0631\u0648\u0634\u0646 \u06a9\u0646\u0645!<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_84 counter-hierarchy ez-toc-counter-rtl ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u0641\u0647\u0631\u0633\u062a \u0645\u0637\u0627\u0644\u0628<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/nabfollower.com\/blog\/10-go-tricks-every-go-programmer-needs-in-their-toolkit-3o14\/#1_%D8%A8%D8%B1_%D9%82%D8%AF%D8%B1%D8%AA_%DA%AF%D9%88%D8%B1%D9%88%D8%AA%DB%8C%D9%86_%D9%87%D8%A7_%D9%85%D8%B3%D9%84%D8%B7_%D8%B4%D9%88%DB%8C%D8%AF\" >1. \u0628\u0631 \u0642\u062f\u0631\u062a \u06af\u0648\u0631\u0648\u062a\u06cc\u0646 \u0647\u0627 \u0645\u0633\u0644\u0637 \u0634\u0648\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/nabfollower.com\/blog\/10-go-tricks-every-go-programmer-needs-in-their-toolkit-3o14\/#2_%DA%A9%D8%A7%D9%86%D8%A7%D9%84_%D8%B3%D9%84%D8%A7%D8%AD_%D9%85%D8%AE%D9%81%DB%8C_Go\" >2. \u06a9\u0627\u0646\u0627\u0644: \u0633\u0644\u0627\u062d \u0645\u062e\u0641\u06cc Go<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/nabfollower.com\/blog\/10-go-tricks-every-go-programmer-needs-in-their-toolkit-3o14\/#3_%D8%A2%D9%85%D9%88%D8%B2%D8%B4_defer_%D8%A8%D8%B1%D8%A7%DB%8C_Elegant_Code_Cleanup\" >3. \u0622\u0645\u0648\u0632\u0634 defer \u0628\u0631\u0627\u06cc Elegant Code Cleanup<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/nabfollower.com\/blog\/10-go-tricks-every-go-programmer-needs-in-their-toolkit-3o14\/#4_%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_%D8%AE%D8%B7%D8%A7_%D9%85%D8%A7%D9%86%D9%86%D8%AF_%DB%8C%DA%A9_%D8%AD%D8%B1%D9%81%D9%87_%D8%A7%DB%8C\" >4. \u0645\u062f\u06cc\u0631\u06cc\u062a \u062e\u0637\u0627 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u062d\u0631\u0641\u0647 \u0627\u06cc<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/nabfollower.com\/blog\/10-go-tricks-every-go-programmer-needs-in-their-toolkit-3o14\/#5_%D8%B1%D8%A7%D8%A8%D8%B7_%D9%87%D8%A7_%D8%A8%DB%8C%D8%B4_%D8%A7%D8%B2_%D8%A7%D9%86%D8%AA%D8%B2%D8%A7%D8%B9%D8%A7%D8%AA\" >5. \u0631\u0627\u0628\u0637 \u0647\u0627: \u0628\u06cc\u0634 \u0627\u0632 \u0627\u0646\u062a\u0632\u0627\u0639\u0627\u062a<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/nabfollower.com\/blog\/10-go-tricks-every-go-programmer-needs-in-their-toolkit-3o14\/#6_%D8%A8%D8%A7_%D8%AA%DA%AF_%D9%87%D8%A7%DB%8C_Struct_%D8%A8%D9%87%DB%8C%D9%86%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\" >6. \u0628\u0627 \u062a\u06af \u0647\u0627\u06cc Struct \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/nabfollower.com\/blog\/10-go-tricks-every-go-programmer-needs-in-their-toolkit-3o14\/#7_%D9%85%D8%AD%DA%A9_%D8%B2%D8%AF%D9%86_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF_%D8%B1%D8%B9%D8%AF_%D9%88_%D8%A8%D8%B1%D9%82\" >7. \u0645\u062d\u06a9 \u0632\u062f\u0646 \u0628\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0631\u0639\u062f \u0648 \u0628\u0631\u0642<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/nabfollower.com\/blog\/10-go-tricks-every-go-programmer-needs-in-their-toolkit-3o14\/#8_%D8%A8%D8%B1%D8%B4_%D9%87%D8%A7%DB%8C_%D8%A7%D9%87%D8%B1%D9%85%DB%8C_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%A2%D8%B1%D8%A7%DB%8C%D9%87_%D9%87%D8%A7%DB%8C_%D9%BE%D9%88%DB%8C%D8%A7\" >8. \u0628\u0631\u0634 \u0647\u0627\u06cc \u0627\u0647\u0631\u0645\u06cc \u0628\u0631\u0627\u06cc \u0622\u0631\u0627\u06cc\u0647 \u0647\u0627\u06cc \u067e\u0648\u06cc\u0627<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/nabfollower.com\/blog\/10-go-tricks-every-go-programmer-needs-in-their-toolkit-3o14\/#9_%D9%86%D9%82%D8%B4%D9%87_%D9%85%D8%A7%D9%86%D9%86%D8%AF_%DB%8C%DA%A9_%D8%B1%D8%A6%DB%8C%D8%B3\" >9. \u0646\u0642\u0634\u0647 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0631\u0626\u06cc\u0633<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/nabfollower.com\/blog\/10-go-tricks-every-go-programmer-needs-in-their-toolkit-3o14\/#10_%D9%85%D8%B1%D8%AA%D8%A8_%D8%B3%D8%A7%D8%B2%DB%8C_%D9%85%D8%A7%D9%86%D9%86%D8%AF_%DB%8C%DA%A9_%D8%AD%D8%B1%D9%81%D9%87_%D8%A7%DB%8C_%D8%A8%D8%A7_%D8%A8%D8%B3%D8%AA%D9%87_%D8%A8%D9%86%D8%AF%DB%8C_%D8%AF%D8%A7%D8%AE%D9%84%DB%8C_Go\" >10. \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u062d\u0631\u0641\u0647 \u0627\u06cc \u0628\u0627 \u0628\u0633\u062a\u0647 \u0628\u0646\u062f\u06cc \u062f\u0627\u062e\u0644\u06cc Go<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/nabfollower.com\/blog\/10-go-tricks-every-go-programmer-needs-in-their-toolkit-3o14\/#%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1%D9%87%D8%A7%DB%8C_%D9%85%D8%B1%D8%AA%D8%A8_%D8%B3%D8%A7%D8%B2%DB%8C_%D9%86%D9%85%D9%88%D9%86%D9%87_%D8%A7%DB%8C_%D8%A7%D8%B2_%D9%85%D8%B1%D8%AA%D8%A8_%D8%B3%D8%A7%D8%B2%DB%8C_%D8%B3%D9%81%D8%A7%D8%B1%D8%B4%DB%8C_%D8%A8%D8%A7_sortSlice\" >\u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc: \u0646\u0645\u0648\u0646\u0647 \u0627\u06cc \u0627\u0632 \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0628\u0627 sort.Slice<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"1_%D8%A8%D8%B1_%D9%82%D8%AF%D8%B1%D8%AA_%DA%AF%D9%88%D8%B1%D9%88%D8%AA%DB%8C%D9%86_%D9%87%D8%A7_%D9%85%D8%B3%D9%84%D8%B7_%D8%B4%D9%88%DB%8C%D8%AF\"><\/span>\n<p>  1. \u0628\u0631 \u0642\u062f\u0631\u062a \u06af\u0648\u0631\u0648\u062a\u06cc\u0646 \u0647\u0627 \u0645\u0633\u0644\u0637 \u0634\u0648\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u06af\u0648\u0631\u0648\u062a\u06cc\u0646 \u0647\u0627 \u0645\u0627\u0646\u0646\u062f \u0632\u0646\u0628\u0648\u0631\u0647\u0627\u06cc \u06a9\u0627\u0631\u06af\u0631 \u06a9\u0648\u0686\u06a9\u06cc \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 \u0686\u0646\u062f\u0648\u0638\u06cc\u0641\u0647 \u0627\u06cc \u0631\u0627 \u0646\u0633\u06cc\u0645 \u0645\u06cc \u06a9\u0646\u0646\u062f. \u0634\u0645\u0627 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0628\u0627 \u0631\u0641\u062a\u0646 \u06a9\u0646\u0627\u0631 \u0645\u06cc \u06af\u0630\u0627\u0631\u06cc\u062f \u0648 \u0628\u0647 \u0622\u0646\u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u06cc\u062f \u06a9\u0627\u0631\u0634\u0627\u0646 \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u062f\u0647\u0646\u062f. \u0641\u0642\u0637 \u0641\u0631\u0627\u0645\u0648\u0634 \u0646\u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0645\u062f\u06cc\u0631\u06cc\u062a \u06a9\u0646\u06cc\u062f! sync.WaitGroup \u0631\u0627 \u0648\u0627\u0631\u062f \u06a9\u0646\u06cc\u062f\u060c \u06a9\u0647 \u0628\u0647 \u0634\u0645\u0627 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u0631\u062f\u06cc\u0627\u0628\u06cc \u06a9\u0646\u06cc\u062f \u06a9\u0647 \u0647\u0645\u0647 \u0628\u0631\u0646\u0627\u0645\u0647\u200c\u0647\u0627\u06cc \u0634\u0645\u0627 \u0686\u0647 \u0632\u0645\u0627\u0646\u06cc \u062a\u0645\u0627\u0645 \u0634\u062f\u0647\u200c\u0627\u0646\u062f.\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">package<\/span> <span class=\"n\">main<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"p\">(<\/span>\n    <span class=\"s\">\"fmt\"<\/span>\n    <span class=\"s\">\"sync\"<\/span>\n    <span class=\"s\">\"time\"<\/span>\n<span class=\"p\">)<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">worker<\/span><span class=\"p\">(<\/span><span class=\"n\">id<\/span> <span class=\"kt\">int<\/span><span class=\"p\">,<\/span> <span class=\"n\">wg<\/span> <span class=\"o\">*<\/span><span class=\"n\">sync<\/span><span class=\"o\">.<\/span><span class=\"n\">WaitGroup<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">defer<\/span> <span class=\"n\">wg<\/span><span class=\"o\">.<\/span><span class=\"n\">Done<\/span><span class=\"p\">()<\/span> <span class=\"c\">\/\/ Signals this worker is done<\/span>\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Printf<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Worker %d starting<\/span><span class=\"se\">\\n<\/span><span class=\"s\">\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">id<\/span><span class=\"p\">)<\/span>\n    <span class=\"n\">time<\/span><span class=\"o\">.<\/span><span class=\"n\">Sleep<\/span><span class=\"p\">(<\/span><span class=\"n\">time<\/span><span class=\"o\">.<\/span><span class=\"n\">Second<\/span><span class=\"p\">)<\/span> <span class=\"c\">\/\/ Simulate some work<\/span>\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Printf<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Worker %d done<\/span><span class=\"se\">\\n<\/span><span class=\"s\">\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">id<\/span><span class=\"p\">)<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">var<\/span> <span class=\"n\">wg<\/span> <span class=\"n\">sync<\/span><span class=\"o\">.<\/span><span class=\"n\">WaitGroup<\/span>\n    <span class=\"k\">for<\/span> <span class=\"n\">i<\/span> <span class=\"o\">:=<\/span> <span class=\"m\">1<\/span><span class=\"p\">;<\/span> <span class=\"n\">i<\/span> <span class=\"o\">&lt;=<\/span> <span class=\"m\">3<\/span><span class=\"p\">;<\/span> <span class=\"n\">i<\/span><span class=\"o\">++<\/span> <span class=\"p\">{<\/span>\n        <span class=\"n\">wg<\/span><span class=\"o\">.<\/span><span class=\"n\">Add<\/span><span class=\"p\">(<\/span><span class=\"m\">1<\/span><span class=\"p\">)<\/span>\n        <span class=\"k\">go<\/span> <span class=\"n\">worker<\/span><span class=\"p\">(<\/span><span class=\"n\">i<\/span><span class=\"p\">,<\/span> <span class=\"o\">&amp;<\/span><span class=\"n\">wg<\/span><span class=\"p\">)<\/span>\n    <span class=\"p\">}<\/span>\n    <span class=\"n\">wg<\/span><span class=\"o\">.<\/span><span class=\"n\">Wait<\/span><span class=\"p\">()<\/span> <span class=\"c\">\/\/ Waits for all goroutines to finish<\/span>\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Println<\/span><span class=\"p\">(<\/span><span class=\"s\">\"All workers done!\"<\/span><span class=\"p\">)<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<p>\u0627\u06cc\u0646 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f\u060c \u0648 \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u06cc\u062f \u06a9\u0647 \u0647\u0631 &#8220;\u06a9\u0627\u0631\u06af\u0631&#8221; \u06a9\u0627\u0631 \u062e\u0648\u062f \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f\u060c \u0633\u067e\u0633 \u06cc\u06a9 &#8220;\u0647\u0645\u0647 \u06a9\u0627\u0631\u06af\u0631\u0627\u0646 \u062a\u0645\u0627\u0645 \u0634\u062f!&#8221; \u062f\u0631 \u067e\u0627\u06cc\u0627\u0646 \u0634\u06cc\u0631\u06cc\u0646!<\/p>\n<h3><span class=\"ez-toc-section\" id=\"2_%DA%A9%D8%A7%D9%86%D8%A7%D9%84_%D8%B3%D9%84%D8%A7%D8%AD_%D9%85%D8%AE%D9%81%DB%8C_Go\"><\/span>\n<p>  2. \u06a9\u0627\u0646\u0627\u0644: \u0633\u0644\u0627\u062d \u0645\u062e\u0641\u06cc Go<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u06a9\u0627\u0646\u0627\u0644\u200c\u0647\u0627 \u0631\u0627\u0647\u06cc \u0647\u0633\u062a\u0646\u062f \u06a9\u0647 Go \u0645\u06cc\u200c\u06af\u0648\u06cc\u062f: \u00ab\u067e\u06cc\u0627\u0645 \u0631\u0627 \u0645\u0646\u062a\u0642\u0644 \u06a9\u0646!\u00bb \u0628\u0627 chan\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u062f\u0627\u062f\u0647 \u0647\u0627 \u0631\u0627 \u0628\u06cc\u0646 \u06af\u0648\u0631\u0648\u062a\u06cc\u0646 \u0647\u0627 \u0627\u0631\u0633\u0627\u0644 \u0648 \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f. \u0627\u06af\u0631 \u0686\u062a \u0647\u0627\u06cc \u0632\u06cc\u0627\u062f\u06cc \u062f\u0627\u0631\u06cc\u062f\u060c \u0627\u0632 \u0627\u0646\u062a\u062e\u0627\u0628 \u0628\u0631\u0627\u06cc \u06af\u0648\u0634 \u062f\u0627\u062f\u0646 \u0647\u0645\u0632\u0645\u0627\u0646 \u0628\u0647 \u0686\u0646\u062f\u06cc\u0646 \u06a9\u0627\u0646\u0627\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f. \u0627\u06cc\u0646 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0627\u067e\u0631\u0627\u062a\u0648\u0631 \u062a\u0627\u0628\u0644\u0648 \u0628\u0631\u0642 \u0628\u0631\u0627\u06cc \u06af\u0648\u0631\u0648\u062a\u06cc\u0646 \u0627\u0633\u062a.\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">package<\/span> <span class=\"n\">main<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"s\">\"fmt\"<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">ch<\/span> <span class=\"o\">:=<\/span> <span class=\"nb\">make<\/span><span class=\"p\">(<\/span><span class=\"k\">chan<\/span> <span class=\"kt\">string<\/span><span class=\"p\">)<\/span>\n\n    <span class=\"k\">go<\/span> <span class=\"k\">func<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n        <span class=\"n\">ch<\/span> <span class=\"o\">&lt;-<\/span> <span class=\"s\">\"Hello from goroutine!\"<\/span>\n    <span class=\"p\">}()<\/span>\n\n    <span class=\"n\">message<\/span> <span class=\"o\">:=<\/span> <span class=\"o\">&lt;-<\/span><span class=\"n\">ch<\/span>\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Println<\/span><span class=\"p\">(<\/span><span class=\"n\">message<\/span><span class=\"p\">)<\/span> <span class=\"c\">\/\/ Output: Hello from goroutine!<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<p>\u0622\u0646 \u0631\u0627 \u0627\u062c\u0631\u0627 \u06a9\u0646\u06cc\u062f\u060c \u0648 \u067e\u06cc\u0627\u0645\u06cc \u0631\u0627 \u062e\u0648\u0627\u0647\u06cc\u062f \u062f\u06cc\u062f \u06a9\u0647 \u0627\u0632 \u06af\u0648\u0631\u0648\u062a\u06cc\u0646 \u0645\u0627 \u062f\u0631 \u062a\u0627\u0628\u0639 \u0627\u0635\u0644\u06cc \u0638\u0627\u0647\u0631 \u0645\u06cc \u0634\u0648\u062f. \u0628\u0648\u0645\u060c \u0627\u0631\u062a\u0628\u0627\u0637 \u0641\u0648\u0631\u06cc!<\/p>\n<h3><span class=\"ez-toc-section\" id=\"3_%D8%A2%D9%85%D9%88%D8%B2%D8%B4_defer_%D8%A8%D8%B1%D8%A7%DB%8C_Elegant_Code_Cleanup\"><\/span>\n<p>  3. \u0622\u0645\u0648\u0632\u0634 defer \u0628\u0631\u0627\u06cc Elegant Code Cleanup<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u06a9\u0644\u0645\u0647 \u06a9\u0644\u06cc\u062f\u06cc defer \u0645\u0627\u0646\u0646\u062f \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0628\u06af\u0648\u06cc\u06cc\u062f: &#8220;\u0627\u06cc\u0646 \u0631\u0627 \u0628\u0631\u0627\u06cc \u0622\u062e\u0631 \u0630\u062e\u06cc\u0631\u0647 \u06a9\u0646\u06cc\u062f!&#8221; \u0628\u0631\u0627\u06cc \u067e\u0627\u06a9\u0633\u0627\u0632\u06cc \u0639\u0627\u0644\u06cc \u0627\u0633\u062a\u2014\u0645\u0627\u0646\u0646\u062f \u0628\u0633\u062a\u0646 \u0641\u0627\u06cc\u0644\u200c\u0647\u0627\u060c \u0622\u0632\u0627\u062f \u06a9\u0631\u062f\u0646 \u0642\u0641\u0644\u200c\u0647\u0627\u060c \u0648 \u063a\u06cc\u0631\u0647. \u06a9\u062f \u0634\u0645\u0627 \u0645\u0631\u062a\u0628 \u0628\u0627\u0642\u06cc \u0645\u06cc\u200c\u0645\u0627\u0646\u062f \u0648 \u0627\u062d\u062a\u0645\u0627\u0644 \u0627\u06cc\u0646\u06a9\u0647 \u0645\u0631\u0627\u062d\u0644 \u067e\u0627\u06a9\u0633\u0627\u0632\u06cc \u0631\u0627 \u0641\u0631\u0627\u0645\u0648\u0634 \u06a9\u0646\u06cc\u062f \u06a9\u0645\u062a\u0631 \u0627\u0633\u062a.\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">package<\/span> <span class=\"n\">main<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"p\">(<\/span>\n    <span class=\"s\">\"fmt\"<\/span>\n    <span class=\"s\">\"os\"<\/span>\n<span class=\"p\">)<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">file<\/span><span class=\"p\">,<\/span> <span class=\"n\">err<\/span> <span class=\"o\">:=<\/span> <span class=\"n\">os<\/span><span class=\"o\">.<\/span><span class=\"n\">Create<\/span><span class=\"p\">(<\/span><span class=\"s\">\"example.txt\"<\/span><span class=\"p\">)<\/span>\n    <span class=\"k\">if<\/span> <span class=\"n\">err<\/span> <span class=\"o\">!=<\/span> <span class=\"no\">nil<\/span> <span class=\"p\">{<\/span>\n        <span class=\"nb\">panic<\/span><span class=\"p\">(<\/span><span class=\"n\">err<\/span><span class=\"p\">)<\/span>\n    <span class=\"p\">}<\/span>\n    <span class=\"k\">defer<\/span> <span class=\"n\">file<\/span><span class=\"o\">.<\/span><span class=\"n\">Close<\/span><span class=\"p\">()<\/span> <span class=\"c\">\/\/ This will always run last<\/span>\n\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Fprintln<\/span><span class=\"p\">(<\/span><span class=\"n\">file<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"Hello, defer!\"<\/span><span class=\"p\">)<\/span> <span class=\"c\">\/\/ Write to the file<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<p>\u0628\u0627 defer\u060c \u067e\u0631\u0648\u0646\u062f\u0647 \u0628\u062f\u0648\u0646 \u062a\u0648\u062c\u0647 \u0628\u0647 \u0647\u0631 \u0627\u062a\u0641\u0627\u0642\u06cc \u0628\u0633\u062a\u0647 \u0645\u06cc \u0634\u0648\u062f\u060c \u062d\u062a\u06cc \u0627\u06af\u0631 \u06cc\u06a9 \u0648\u062d\u0634\u062a \u0648\u062c\u0648\u062f \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f. \u0645\u062b\u0644 \u062f\u0627\u0634\u062a\u0646 \u06cc\u06a9 \u0634\u0628\u06a9\u0647 \u0627\u06cc\u0645\u0646\u06cc \u062f\u0627\u062e\u0644\u06cc \u0627\u0633\u062a!<\/p>\n<h3><span class=\"ez-toc-section\" id=\"4_%D9%85%D8%AF%DB%8C%D8%B1%DB%8C%D8%AA_%D8%AE%D8%B7%D8%A7_%D9%85%D8%A7%D9%86%D9%86%D8%AF_%DB%8C%DA%A9_%D8%AD%D8%B1%D9%81%D9%87_%D8%A7%DB%8C\"><\/span>\n<p>  4. \u0645\u062f\u06cc\u0631\u06cc\u062a \u062e\u0637\u0627 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u062d\u0631\u0641\u0647 \u0627\u06cc<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Go \u0627\u0633\u062a\u062b\u0646\u0627\u0647\u0627\u06cc \u0641\u0627\u0646\u062a\u0632\u06cc \u0631\u0627 \u0627\u0646\u062c\u0627\u0645 \u0646\u0645\u06cc \u062f\u0647\u062f. \u062e\u0637\u0627\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0634\u06cc \u0633\u0627\u062f\u0647 \u0627\u0646\u062c\u0627\u0645 \u0645\u06cc \u062f\u0647\u062f. \u062f\u0631 \u0647\u0631 \u0645\u0631\u062d\u0644\u0647 \u062e\u0637\u0627\u0647\u0627 \u0631\u0627 \u0628\u0631\u0631\u0633\u06cc \u06a9\u0646\u06cc\u062f\u060c \u0648 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0628\u0647 \u067e\u06cc\u0627\u0645 \u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u062f\u060c \u0627\u0646\u0648\u0627\u0639 \u062e\u0637\u0627\u0647\u0627\u06cc \u062e\u0648\u062f \u0631\u0627 \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u06cc\u062f!\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">package<\/span> <span class=\"n\">main<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"p\">(<\/span>\n    <span class=\"s\">\"errors\"<\/span>\n    <span class=\"s\">\"fmt\"<\/span>\n<span class=\"p\">)<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">divide<\/span><span class=\"p\">(<\/span><span class=\"n\">a<\/span><span class=\"p\">,<\/span> <span class=\"n\">b<\/span> <span class=\"kt\">float64<\/span><span class=\"p\">)<\/span> <span class=\"p\">(<\/span><span class=\"kt\">float64<\/span><span class=\"p\">,<\/span> <span class=\"kt\">error<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">if<\/span> <span class=\"n\">b<\/span> <span class=\"o\">==<\/span> <span class=\"m\">0<\/span> <span class=\"p\">{<\/span>\n        <span class=\"k\">return<\/span> <span class=\"m\">0<\/span><span class=\"p\">,<\/span> <span class=\"n\">errors<\/span><span class=\"o\">.<\/span><span class=\"n\">New<\/span><span class=\"p\">(<\/span><span class=\"s\">\"cannot divide by zero\"<\/span><span class=\"p\">)<\/span>\n    <span class=\"p\">}<\/span>\n    <span class=\"k\">return<\/span> <span class=\"n\">a<\/span> <span class=\"o\">\/<\/span> <span class=\"n\">b<\/span><span class=\"p\">,<\/span> <span class=\"no\">nil<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">result<\/span><span class=\"p\">,<\/span> <span class=\"n\">err<\/span> <span class=\"o\">:=<\/span> <span class=\"n\">divide<\/span><span class=\"p\">(<\/span><span class=\"m\">4<\/span><span class=\"p\">,<\/span> <span class=\"m\">0<\/span><span class=\"p\">)<\/span>\n    <span class=\"k\">if<\/span> <span class=\"n\">err<\/span> <span class=\"o\">!=<\/span> <span class=\"no\">nil<\/span> <span class=\"p\">{<\/span>\n        <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Println<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Error:\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">err<\/span><span class=\"p\">)<\/span>\n        <span class=\"k\">return<\/span>\n    <span class=\"p\">}<\/span>\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Println<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Result:\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">result<\/span><span class=\"p\">)<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<p>\u0627\u06af\u0631 \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u0633\u0639\u06cc \u06a9\u0646\u06cc\u062f \u0628\u0631 \u0635\u0641\u0631 \u062a\u0642\u0633\u06cc\u0645 \u06a9\u0646\u06cc\u062f\u060c \u06cc\u06a9 \u067e\u06cc\u0627\u0645 \u062e\u0637\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0632\u06cc\u0628\u0627 \u062f\u0631\u06cc\u0627\u0641\u062a \u062e\u0648\u0627\u0647\u06cc\u062f \u06a9\u0631\u062f. \u0628\u0633\u06cc\u0627\u0631 \u062a\u0645\u06cc\u0632\u062a\u0631 \u0627\u0632 \u062a\u0635\u0627\u062f\u0641\u0627\u062a \u0645\u0631\u0645\u0648\u0632!<\/p>\n<h3><span class=\"ez-toc-section\" id=\"5_%D8%B1%D8%A7%D8%A8%D8%B7_%D9%87%D8%A7_%D8%A8%DB%8C%D8%B4_%D8%A7%D8%B2_%D8%A7%D9%86%D8%AA%D8%B2%D8%A7%D8%B9%D8%A7%D8%AA\"><\/span>\n<p>  5. \u0631\u0627\u0628\u0637 \u0647\u0627: \u0628\u06cc\u0634 \u0627\u0632 \u0627\u0646\u062a\u0632\u0627\u0639\u0627\u062a<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062f\u0631 Go\u060c \u0631\u0627\u0628\u0637 \u0647\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f \u0631\u0641\u062a\u0627\u0631 \u0647\u0633\u062a\u0646\u062f\u060c \u0646\u0647 \u0648\u0631\u0627\u062b\u062a. \u0647\u0645\u0647 \u0622\u0646\u0647\u0627 \u062f\u0631 \u0645\u0648\u0631\u062f &#8220;\u0627\u06af\u0631 \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0627\u0631\u062f\u06a9 \u0648 \u06a9\u0648\u06a9 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0627\u0631\u062f\u06a9\u060c \u0622\u0646 \u0631\u0627 \u06cc\u06a9 \u0627\u0631\u062f\u06a9!&#8221; \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0622\u0646\u0647\u0627 \u0631\u0627 \u0633\u0627\u062f\u0647 \u0648 \u0645\u062a\u0645\u0631\u06a9\u0632 \u0646\u06af\u0647 \u062f\u0627\u0631\u06cc\u062f.\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">package<\/span> <span class=\"n\">main<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"s\">\"fmt\"<\/span>\n\n<span class=\"k\">type<\/span> <span class=\"n\">Speaker<\/span> <span class=\"k\">interface<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">Speak<\/span><span class=\"p\">()<\/span> <span class=\"kt\">string<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">type<\/span> <span class=\"n\">Dog<\/span> <span class=\"k\">struct<\/span><span class=\"p\">{}<\/span>\n<span class=\"k\">type<\/span> <span class=\"n\">Cat<\/span> <span class=\"k\">struct<\/span><span class=\"p\">{}<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"p\">(<\/span><span class=\"n\">d<\/span> <span class=\"n\">Dog<\/span><span class=\"p\">)<\/span> <span class=\"n\">Speak<\/span><span class=\"p\">()<\/span> <span class=\"kt\">string<\/span> <span class=\"p\">{<\/span> <span class=\"k\">return<\/span> <span class=\"s\">\"Woof!\"<\/span> <span class=\"p\">}<\/span>\n<span class=\"k\">func<\/span> <span class=\"p\">(<\/span><span class=\"n\">c<\/span> <span class=\"n\">Cat<\/span><span class=\"p\">)<\/span> <span class=\"n\">Speak<\/span><span class=\"p\">()<\/span> <span class=\"kt\">string<\/span> <span class=\"p\">{<\/span> <span class=\"k\">return<\/span> <span class=\"s\">\"Meow!\"<\/span> <span class=\"p\">}<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">makeSound<\/span><span class=\"p\">(<\/span><span class=\"n\">s<\/span> <span class=\"n\">Speaker<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Println<\/span><span class=\"p\">(<\/span><span class=\"n\">s<\/span><span class=\"o\">.<\/span><span class=\"n\">Speak<\/span><span class=\"p\">())<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">makeSound<\/span><span class=\"p\">(<\/span><span class=\"n\">Dog<\/span><span class=\"p\">{})<\/span> <span class=\"c\">\/\/ Output: Woof!<\/span>\n    <span class=\"n\">makeSound<\/span><span class=\"p\">(<\/span><span class=\"n\">Cat<\/span><span class=\"p\">{})<\/span> <span class=\"c\">\/\/ Output: Meow!<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<p>\u0627\u06a9\u0646\u0648\u0646\u060c \u0647\u0631 \u0633\u0627\u062e\u062a\u0627\u0631\u06cc \u06a9\u0647 \u0645\u062a\u062f Speak \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u062f \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0627 makeSound \u06a9\u0627\u0631 \u06a9\u0646\u062f. \u06a9\u062f \u06a9\u0645\u062a\u0631\u060c \u0627\u0646\u0639\u0637\u0627\u0641 \u067e\u0630\u06cc\u0631\u06cc \u0628\u06cc\u0634\u062a\u0631!<\/p>\n<h3><span class=\"ez-toc-section\" id=\"6_%D8%A8%D8%A7_%D8%AA%DA%AF_%D9%87%D8%A7%DB%8C_Struct_%D8%A8%D9%87%DB%8C%D9%86%D9%87_%D8%B3%D8%A7%D8%B2%DB%8C_%DA%A9%D9%86%DB%8C%D8%AF\"><\/span>\n<p>  6. \u0628\u0627 \u062a\u06af \u0647\u0627\u06cc Struct \u0628\u0647\u06cc\u0646\u0647 \u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062a\u06af\u200c\u0647\u0627\u06cc Struct \u0645\u0627\u0646\u0646\u062f \u06cc\u0627\u062f\u062f\u0627\u0634\u062a\u200c\u0647\u0627\u06cc \u0686\u0633\u0628\u0646\u0627\u06a9 \u06a9\u0648\u0686\u06a9\u06cc \u062f\u0631 \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u0633\u0627\u062e\u062a\u0627\u0631 \u0634\u0645\u0627 \u0647\u0633\u062a\u0646\u062f. \u0622\u0646\u0647\u0627 \u0628\u0647 \u0633\u06cc\u0633\u062a\u0645 \u0647\u0627\u06cc \u062e\u0627\u0631\u062c\u06cc \u0645\u06cc \u06af\u0648\u06cc\u0646\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 \u0627\u0632 \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u0634\u0645\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f\u060c \u062e\u0648\u0627\u0647 \u0628\u0627 JSON\u060c XML \u06cc\u0627 \u067e\u0627\u06cc\u06af\u0627\u0647 \u062f\u0627\u062f\u0647 \u0633\u0631\u0648\u06a9\u0627\u0631 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f. json:&#8221;-&#8221; \u0631\u0627 \u0628\u0631\u0627\u06cc \u0646\u0627\u062f\u06cc\u062f\u0647 \u06af\u0631\u0641\u062a\u0646 \u0641\u06cc\u0644\u062f\u0647\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0646\u06cc\u062f \u06cc\u0627 \u0628\u0631\u0627\u06cc \u0631\u062f \u0634\u062f\u0646 \u0627\u0632 \u0641\u06cc\u0644\u062f\u0647\u0627\u06cc \u062e\u0627\u0644\u06cc \u0622\u0646 \u0631\u0627 \u062d\u0630\u0641 \u06a9\u0646\u06cc\u062f.\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">package<\/span> <span class=\"n\">main<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"p\">(<\/span>\n    <span class=\"s\">\"encoding\/json\"<\/span>\n    <span class=\"s\">\"fmt\"<\/span>\n<span class=\"p\">)<\/span>\n\n<span class=\"k\">type<\/span> <span class=\"n\">Person<\/span> <span class=\"k\">struct<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">Name<\/span>  <span class=\"kt\">string<\/span> <span class=\"s\">`json:\"name\"`<\/span>\n    <span class=\"n\">Age<\/span>   <span class=\"kt\">int<\/span>    <span class=\"s\">`json:\"age,omitempty\"`<\/span> <span class=\"c\">\/\/ Will skip if zero<\/span>\n    <span class=\"n\">Email<\/span> <span class=\"kt\">string<\/span> <span class=\"s\">`json:\"-\"`<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">p<\/span> <span class=\"o\">:=<\/span> <span class=\"n\">Person<\/span><span class=\"p\">{<\/span><span class=\"n\">Name<\/span><span class=\"o\">:<\/span> <span class=\"s\">\"John\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">Age<\/span><span class=\"o\">:<\/span> <span class=\"m\">0<\/span><span class=\"p\">,<\/span> <span class=\"n\">Email<\/span><span class=\"o\">:<\/span> <span class=\"s\">\"john@example.com\"<\/span><span class=\"p\">}<\/span>\n    <span class=\"n\">data<\/span><span class=\"p\">,<\/span> <span class=\"n\">_<\/span> <span class=\"o\">:=<\/span> <span class=\"n\">json<\/span><span class=\"o\">.<\/span><span class=\"n\">Marshal<\/span><span class=\"p\">(<\/span><span class=\"n\">p<\/span><span class=\"p\">)<\/span>\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Println<\/span><span class=\"p\">(<\/span><span class=\"kt\">string<\/span><span class=\"p\">(<\/span><span class=\"n\">data<\/span><span class=\"p\">))<\/span> <span class=\"c\">\/\/ Output: {\"name\":\"John\"}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<p>\u062f\u0631 \u0627\u06cc\u0646\u062c\u0627\u060c \u0627\u06cc\u0645\u06cc\u0644 \u0646\u0627\u062f\u06cc\u062f\u0647 \u06af\u0631\u0641\u062a\u0647 \u0645\u06cc \u0634\u0648\u062f \u0648 \u0633\u0646 \u0628\u0647 \u062f\u0644\u06cc\u0644 \u0635\u0641\u0631 \u0628\u0648\u062f\u0646 \u0646\u0634\u0627\u0646 \u062f\u0627\u062f\u0647 \u0646\u0645\u06cc \u0634\u0648\u062f. \u0627\u06cc\u062f\u0647 \u0622\u0644 \u0628\u0631\u0627\u06cc JSON \u062a\u0645\u06cc\u0632\u062a\u0631 \u0648 \u0633\u0628\u06a9 \u062a\u0631!<\/p>\n<h3><span class=\"ez-toc-section\" id=\"7_%D9%85%D8%AD%DA%A9_%D8%B2%D8%AF%D9%86_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%B9%D9%85%D9%84%DA%A9%D8%B1%D8%AF_%D8%B1%D8%B9%D8%AF_%D9%88_%D8%A8%D8%B1%D9%82\"><\/span>\n<p>  7. \u0645\u062d\u06a9 \u0632\u062f\u0646 \u0628\u0631\u0627\u06cc \u0639\u0645\u0644\u06a9\u0631\u062f \u0631\u0639\u062f \u0648 \u0628\u0631\u0642<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0622\u06cc\u0627 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0628\u062f\u0627\u0646\u06cc\u062f \u0633\u0631\u0639\u062a \u06a9\u062f \u0634\u0645\u0627 \u0686\u0642\u062f\u0631 \u0627\u0633\u062a\u061f \u0628\u0633\u062a\u0647 \u0622\u0632\u0645\u0627\u06cc\u0634\u06cc Go \u062f\u0627\u0631\u0627\u06cc \u0628\u0646\u0686\u0645\u0627\u0631\u06a9 \u062f\u0627\u062e\u0644\u06cc \u0627\u0633\u062a. \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u06af\u0644\u0648\u06af\u0627\u0647\u200c\u0647\u0627 \u0631\u0627 \u067e\u06cc\u062f\u0627 \u06a9\u0646\u06cc\u062f \u0648 \u0642\u0628\u0644 \u0627\u0632 \u0634\u0631\u0648\u0639 \u0628\u0647 \u06a9\u0627\u0631 \u0628\u0647\u06cc\u0646\u0647\u200c\u0633\u0627\u0632\u06cc \u06a9\u0646\u06cc\u062f.\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">package<\/span> <span class=\"n\">main<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"p\">(<\/span>\n    <span class=\"s\">\"testing\"<\/span>\n<span class=\"p\">)<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"n\">a<\/span><span class=\"p\">,<\/span> <span class=\"n\">b<\/span> <span class=\"kt\">int<\/span><span class=\"p\">)<\/span> <span class=\"kt\">int<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">return<\/span> <span class=\"n\">a<\/span> <span class=\"o\">+<\/span> <span class=\"n\">b<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">BenchmarkAdd<\/span><span class=\"p\">(<\/span><span class=\"n\">b<\/span> <span class=\"o\">*<\/span><span class=\"n\">testing<\/span><span class=\"o\">.<\/span><span class=\"n\">B<\/span><span class=\"p\">)<\/span> <span class=\"p\">{<\/span>\n    <span class=\"k\">for<\/span> <span class=\"n\">i<\/span> <span class=\"o\">:=<\/span> <span class=\"m\">0<\/span><span class=\"p\">;<\/span> <span class=\"n\">i<\/span> <span class=\"o\">&lt;<\/span> <span class=\"n\">b<\/span><span class=\"o\">.<\/span><span class=\"n\">N<\/span><span class=\"p\">;<\/span> <span class=\"n\">i<\/span><span class=\"o\">++<\/span> <span class=\"p\">{<\/span>\n        <span class=\"n\">add<\/span><span class=\"p\">(<\/span><span class=\"m\">1<\/span><span class=\"p\">,<\/span> <span class=\"m\">2<\/span><span class=\"p\">)<\/span>\n    <span class=\"p\">}<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<p>Run go test-bench . \u0648 \u0628\u0627\u0632\u062e\u0648\u0631\u062f \u0641\u0648\u0631\u06cc \u062f\u0631 \u0645\u0648\u0631\u062f \u0639\u0645\u0644\u06a9\u0631\u062f \u062f\u0631\u06cc\u0627\u0641\u062a \u06a9\u0646\u06cc\u062f. \u062d\u062a\u06cc \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u06a9\u0648\u0686\u06a9 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u062a\u0641\u0627\u0648\u062a \u0632\u06cc\u0627\u062f\u06cc \u062f\u0631 \u0633\u0631\u0639\u062a \u0627\u06cc\u062c\u0627\u062f \u06a9\u0646\u062f!<\/p>\n<h3><span class=\"ez-toc-section\" id=\"8_%D8%A8%D8%B1%D8%B4_%D9%87%D8%A7%DB%8C_%D8%A7%D9%87%D8%B1%D9%85%DB%8C_%D8%A8%D8%B1%D8%A7%DB%8C_%D8%A2%D8%B1%D8%A7%DB%8C%D9%87_%D9%87%D8%A7%DB%8C_%D9%BE%D9%88%DB%8C%D8%A7\"><\/span>\n<p>  8. \u0628\u0631\u0634 \u0647\u0627\u06cc \u0627\u0647\u0631\u0645\u06cc \u0628\u0631\u0627\u06cc \u0622\u0631\u0627\u06cc\u0647 \u0647\u0627\u06cc \u067e\u0648\u06cc\u0627<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Slices \u0622\u0631\u0627\u06cc\u0647 \u0647\u0627\u06cc \u067e\u0648\u06cc\u0627 Go \u0647\u0633\u062a\u0646\u062f\u060c \u0627\u0645\u0627 \u0628\u0627 \u06a9\u0645\u06cc \u0627\u0646\u0639\u0637\u0627\u0641 \u0628\u06cc\u0634\u062a\u0631. \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u0627\u0641\u0632\u0648\u062f\u0646 \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u06af\u0633\u062a\u0631\u0634 \u062f\u0647\u06cc\u062f \u0648 \u0641\u0636\u0627\u06cc \u0627\u0636\u0627\u0641\u06cc \u0631\u0627 \u0627\u0632 \u0642\u0628\u0644 \u0627\u062e\u062a\u0635\u0627\u0635 \u062f\u0647\u06cc\u062f \u062a\u0627 \u06a9\u0627\u0631\u0647\u0627 \u06a9\u0627\u0631\u0622\u0645\u062f \u0628\u0627\u0634\u0646\u062f.\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">package<\/span> <span class=\"n\">main<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"s\">\"fmt\"<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">numbers<\/span> <span class=\"o\">:=<\/span> <span class=\"nb\">make<\/span><span class=\"p\">([]<\/span><span class=\"kt\">int<\/span><span class=\"p\">,<\/span> <span class=\"m\">0<\/span><span class=\"p\">,<\/span> <span class=\"m\">5<\/span><span class=\"p\">)<\/span> <span class=\"c\">\/\/ Capacity of 5<\/span>\n    <span class=\"n\">numbers<\/span> <span class=\"o\">=<\/span> <span class=\"nb\">append<\/span><span class=\"p\">(<\/span><span class=\"n\">numbers<\/span><span class=\"p\">,<\/span> <span class=\"m\">1<\/span><span class=\"p\">,<\/span> <span class=\"m\">2<\/span><span class=\"p\">,<\/span> <span class=\"m\">3<\/span><span class=\"p\">)<\/span>\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Println<\/span><span class=\"p\">(<\/span><span class=\"n\">numbers<\/span><span class=\"p\">)<\/span>      <span class=\"c\">\/\/ Output: [1 2 3]<\/span>\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Println<\/span><span class=\"p\">(<\/span><span class=\"nb\">cap<\/span><span class=\"p\">(<\/span><span class=\"n\">numbers<\/span><span class=\"p\">))<\/span> <span class=\"c\">\/\/ Output: 5<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<p>\u0628\u0627 \u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0639\u0646\u0627\u0635\u0631\u060c \u0628\u0631\u0634 \u0647\u0627 \u0631\u0634\u062f \u0645\u06cc \u06a9\u0646\u0646\u062f\u060c \u0627\u0645\u0627 \u062a\u062e\u0635\u06cc\u0635 \u0638\u0631\u0641\u06cc\u062a \u0627\u0632 \u0642\u0628\u0644 (\u0645\u0627\u0646\u0646\u062f \u0627\u06cc\u0646\u062c\u0627 \u0628\u0627 5) \u06a9\u0645\u06cc \u0633\u0631\u0639\u062a \u0631\u0627 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0641\u0632\u0627\u06cc\u0634 \u0645\u06cc \u062f\u0647\u062f.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"9_%D9%86%D9%82%D8%B4%D9%87_%D9%85%D8%A7%D9%86%D9%86%D8%AF_%DB%8C%DA%A9_%D8%B1%D8%A6%DB%8C%D8%B3\"><\/span>\n<p>  9. \u0646\u0642\u0634\u0647 \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u0631\u0626\u06cc\u0633<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u0646\u0642\u0634\u0647 \u0647\u0627 \u0633\u0631\u06cc\u0639 \u0648 \u0622\u0633\u0627\u0646 \u0647\u0633\u062a\u0646\u062f\u060c \u0627\u0645\u0627 \u0627\u0632 \u0646\u0638\u0631 \u0631\u0634\u062a\u0647 \u0627\u06cc \u0627\u06cc\u0645\u0646 \u0646\u06cc\u0633\u062a\u0646\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646 \u0627\u06af\u0631 \u0627\u0632 \u0622\u0646\u200c\u0647\u0627 \u0628\u0627 \u06af\u0648\u0631\u0648\u062a\u06cc\u0646\u200c\u0647\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u062f\u060c \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u062f\u0631 \u06cc\u06a9 sync.RWMutex \u0628\u067e\u06cc\u0686\u06cc\u062f \u062a\u0627 \u0627\u0632 \u0648\u062d\u0634\u062a \u0648 \u0628\u0627\u06af\u200c\u0647\u0627\u06cc \u0639\u062c\u06cc\u0628 \u0648 \u063a\u0631\u06cc\u0628 \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u06a9\u0646\u06cc\u062f.\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">package<\/span> <span class=\"n\">main<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"p\">(<\/span>\n    <span class=\"s\">\"fmt\"<\/span>\n    <span class=\"s\">\"sync\"<\/span>\n<span class=\"p\">)<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">m<\/span> <span class=\"o\">:=<\/span> <span class=\"nb\">make<\/span><span class=\"p\">(<\/span><span class=\"k\">map<\/span><span class=\"p\">[<\/span><span class=\"kt\">string<\/span><span class=\"p\">]<\/span><span class=\"kt\">int<\/span><span class=\"p\">)<\/span>\n    <span class=\"k\">var<\/span> <span class=\"n\">mu<\/span> <span class=\"n\">sync<\/span><span class=\"o\">.<\/span><span class=\"n\">RWMutex<\/span>\n\n    <span class=\"c\">\/\/ Write<\/span>\n    <span class=\"n\">mu<\/span><span class=\"o\">.<\/span><span class=\"n\">Lock<\/span><span class=\"p\">()<\/span>\n    <span class=\"n\">m<\/span><span class=\"p\">[<\/span><span class=\"s\">\"key\"<\/span><span class=\"p\">]<\/span> <span class=\"o\">=<\/span> <span class=\"m\">42<\/span>\n    <span class=\"n\">mu<\/span><span class=\"o\">.<\/span><span class=\"n\">Unlock<\/span><span class=\"p\">()<\/span>\n\n    <span class=\"c\">\/\/ Read<\/span>\n    <span class=\"n\">mu<\/span><span class=\"o\">.<\/span><span class=\"n\">RLock<\/span><span class=\"p\">()<\/span>\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Println<\/span><span class=\"p\">(<\/span><span class=\"n\">m<\/span><span class=\"p\">[<\/span><span class=\"s\">\"key\"<\/span><span class=\"p\">])<\/span> <span class=\"c\">\/\/ Output: 42<\/span>\n    <span class=\"n\">mu<\/span><span class=\"o\">.<\/span><span class=\"n\">RUnlock<\/span><span class=\"p\">()<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<p>\u0628\u0627 sync.RWMutex\u060c \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0627 \u062e\u06cc\u0627\u0644 \u0631\u0627\u062d\u062a \u0646\u0642\u0634\u0647 \u062e\u0648\u062f \u0631\u0627 \u062f\u0631 \u06cc\u06a9 \u0645\u062d\u06cc\u0637 \u0647\u0645\u0632\u0645\u0627\u0646 \u0628\u062e\u0648\u0627\u0646\u06cc\u062f \u0648 \u0628\u0646\u0648\u06cc\u0633\u06cc\u062f. \u0635\u0627\u0641 \u0648 \u0627\u06cc\u0645\u0646!<\/p>\n<h3><span class=\"ez-toc-section\" id=\"10_%D9%85%D8%B1%D8%AA%D8%A8_%D8%B3%D8%A7%D8%B2%DB%8C_%D9%85%D8%A7%D9%86%D9%86%D8%AF_%DB%8C%DA%A9_%D8%AD%D8%B1%D9%81%D9%87_%D8%A7%DB%8C_%D8%A8%D8%A7_%D8%A8%D8%B3%D8%AA%D9%87_%D8%A8%D9%86%D8%AF%DB%8C_%D8%AF%D8%A7%D8%AE%D9%84%DB%8C_Go\"><\/span>\n<p>  10. \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u0645\u0627\u0646\u0646\u062f \u06cc\u06a9 \u062d\u0631\u0641\u0647 \u0627\u06cc \u0628\u0627 \u0628\u0633\u062a\u0647 \u0628\u0646\u062f\u06cc \u062f\u0627\u062e\u0644\u06cc Go<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>\u062f\u0631 Go\u060c \u0633\u0641\u0627\u0631\u0634 \u0628\u0631\u0634 \u0647\u0627 \u0628\u0633\u06cc\u0627\u0631 \u0622\u0633\u0627\u0646 \u0627\u0633\u062a. \u0622\u06cc\u0627 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u0627\u0639\u062f\u0627\u062f \u0635\u062d\u06cc\u062d\u060c \u0631\u0634\u062a\u0647 \u0647\u0627 \u06cc\u0627 \u0647\u0631 \u0642\u0637\u0639\u0647 \u0627\u0633\u0627\u0633\u06cc \u062f\u06cc\u06af\u0631 \u062f\u0627\u0631\u06cc\u062f\u061f \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647 \u0627\u0633\u062a\u0627\u0646\u062f\u0627\u0631\u062f \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u062a\u0648\u0627\u0628\u0639 \u0622\u0645\u0627\u062f\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u062f\u0627\u0631\u062f! \u0627\u0645\u0627 \u0628\u0647\u062a\u0631\u06cc\u0646 \u0628\u062e\u0634\u060c \u0627\u0646\u0639\u0637\u0627\u0641 \u067e\u0630\u06cc\u0631\u06cc \u0633\u0641\u0627\u0631\u0634 \u0628\u0631\u0634 \u0647\u0627\u06cc \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 sort.Slice \u0627\u0633\u062a. \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0635\u0639\u0648\u062f\u06cc\u060c \u0646\u0632\u0648\u0644\u06cc \u06cc\u0627 \u0628\u0627 \u0647\u0631 \u0645\u0639\u06cc\u0627\u0631\u06cc \u06a9\u0647 \u0645\u06cc \u062e\u0648\u0627\u0647\u06cc\u062f \u0645\u0631\u062a\u0628 \u06a9\u0646\u06cc\u062f!<\/p>\n<p>\u0645\u062b\u0627\u0644: \u062a\u0631\u062a\u06cc\u0628 \u0631\u0634\u062a\u0647 \u0647\u0627\u060c \u0627\u0639\u062f\u0627\u062f \u0648 \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc<br \/>\n\u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0627 \u06cc\u06a9 \u0645\u062b\u0627\u0644 \u0633\u0627\u062f\u0647 \u0634\u0631\u0648\u0639 \u06a9\u0646\u06cc\u0645: \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u0627\u0639\u062f\u0627\u062f \u0635\u062d\u06cc\u062d \u0648 \u0631\u0634\u062a\u0647 \u0647\u0627.\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">package<\/span> <span class=\"n\">main<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"p\">(<\/span>\n    <span class=\"s\">\"fmt\"<\/span>\n    <span class=\"s\">\"sort\"<\/span>\n<span class=\"p\">)<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">numbers<\/span> <span class=\"o\">:=<\/span> <span class=\"p\">[]<\/span><span class=\"kt\">int<\/span><span class=\"p\">{<\/span><span class=\"m\">5<\/span><span class=\"p\">,<\/span> <span class=\"m\">2<\/span><span class=\"p\">,<\/span> <span class=\"m\">7<\/span><span class=\"p\">,<\/span> <span class=\"m\">3<\/span><span class=\"p\">,<\/span> <span class=\"m\">9<\/span><span class=\"p\">}<\/span>\n    <span class=\"n\">sort<\/span><span class=\"o\">.<\/span><span class=\"n\">Ints<\/span><span class=\"p\">(<\/span><span class=\"n\">numbers<\/span><span class=\"p\">)<\/span>\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Println<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Sorted Numbers:\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">numbers<\/span><span class=\"p\">)<\/span> <span class=\"c\">\/\/ Output: [2 3 5 7 9]<\/span>\n\n    <span class=\"n\">words<\/span> <span class=\"o\">:=<\/span> <span class=\"p\">[]<\/span><span class=\"kt\">string<\/span><span class=\"p\">{<\/span><span class=\"s\">\"banana\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"apple\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"cherry\"<\/span><span class=\"p\">}<\/span>\n    <span class=\"n\">sort<\/span><span class=\"o\">.<\/span><span class=\"n\">Strings<\/span><span class=\"p\">(<\/span><span class=\"n\">words<\/span><span class=\"p\">)<\/span>\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Println<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Sorted Words:\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">words<\/span><span class=\"p\">)<\/span> <span class=\"c\">\/\/ Output: [apple banana cherry]<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<p>\u062f\u06cc\u062f\u06cc \u06a9\u0647\u061f \u062a\u0648\u0627\u0628\u0639 sort.Ints \u0648 sort.strings \u0647\u0645\u0647 \u0686\u06cc\u0632 \u0631\u0627 \u0628\u0647 \u0633\u0631\u0639\u062a \u0645\u0631\u062a\u0628 \u0645\u06cc \u06a9\u0646\u0646\u062f.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"%D8%B3%D8%A7%D8%AE%D8%AA%D8%A7%D8%B1%D9%87%D8%A7%DB%8C_%D9%85%D8%B1%D8%AA%D8%A8_%D8%B3%D8%A7%D8%B2%DB%8C_%D9%86%D9%85%D9%88%D9%86%D9%87_%D8%A7%DB%8C_%D8%A7%D8%B2_%D9%85%D8%B1%D8%AA%D8%A8_%D8%B3%D8%A7%D8%B2%DB%8C_%D8%B3%D9%81%D8%A7%D8%B1%D8%B4%DB%8C_%D8%A8%D8%A7_sortSlice\"><\/span>\n<p>  \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u06cc \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc: \u0646\u0645\u0648\u0646\u0647 \u0627\u06cc \u0627\u0632 \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u0633\u0641\u0627\u0631\u0634\u06cc \u0628\u0627 sort.Slice<br \/>\n<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>\u0628\u0631\u0627\u06cc \u0686\u06cc\u0632\u0647\u0627\u06cc \u067e\u06cc\u0634\u0631\u0641\u062a\u0647 \u062a\u0631\u060c \u0645\u0627\u0646\u0646\u062f \u0645\u0631\u062a\u0628 \u06a9\u0631\u062f\u0646 \u0644\u06cc\u0633\u062a\u06cc \u0627\u0632 \u0633\u0627\u062e\u062a\u0627\u0631\u0647\u0627\u060c \u062a\u0627\u0628\u0639 sort.Slice \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0645\u0639\u06cc\u0627\u0631\u0647\u0627\u06cc \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u0631\u0627 \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646\u062c\u0627 \u06cc\u06a9 \u0645\u062b\u0627\u0644 \u0628\u0627 \u0644\u06cc\u0633\u062a\u06cc \u0627\u0632 \u0627\u0641\u0631\u0627\u062f\u060c \u0628\u0647 \u062a\u0631\u062a\u06cc\u0628 \u0633\u0646 \u0622\u0648\u0631\u062f\u0647 \u0634\u062f\u0647 \u0627\u0633\u062a.\n<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight go\"><code><span class=\"k\">package<\/span> <span class=\"n\">main<\/span>\n\n<span class=\"k\">import<\/span> <span class=\"p\">(<\/span>\n    <span class=\"s\">\"fmt\"<\/span>\n    <span class=\"s\">\"sort\"<\/span>\n<span class=\"p\">)<\/span>\n\n<span class=\"k\">type<\/span> <span class=\"n\">Person<\/span> <span class=\"k\">struct<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">Name<\/span> <span class=\"kt\">string<\/span>\n    <span class=\"n\">Age<\/span>  <span class=\"kt\">int<\/span>\n<span class=\"p\">}<\/span>\n\n<span class=\"k\">func<\/span> <span class=\"n\">main<\/span><span class=\"p\">()<\/span> <span class=\"p\">{<\/span>\n    <span class=\"n\">people<\/span> <span class=\"o\">:=<\/span> <span class=\"p\">[]<\/span><span class=\"n\">Person<\/span><span class=\"p\">{<\/span>\n        <span class=\"p\">{<\/span><span class=\"s\">\"Alice\"<\/span><span class=\"p\">,<\/span> <span class=\"m\">30<\/span><span class=\"p\">},<\/span>\n        <span class=\"p\">{<\/span><span class=\"s\">\"Bob\"<\/span><span class=\"p\">,<\/span> <span class=\"m\">25<\/span><span class=\"p\">},<\/span>\n        <span class=\"p\">{<\/span><span class=\"s\">\"Charlie\"<\/span><span class=\"p\">,<\/span> <span class=\"m\">35<\/span><span class=\"p\">},<\/span>\n    <span class=\"p\">}<\/span>\n\n    <span class=\"c\">\/\/ Sort by age<\/span>\n    <span class=\"n\">sort<\/span><span class=\"o\">.<\/span><span class=\"n\">Slice<\/span><span class=\"p\">(<\/span><span class=\"n\">people<\/span><span class=\"p\">,<\/span> <span class=\"k\">func<\/span><span class=\"p\">(<\/span><span class=\"n\">i<\/span><span class=\"p\">,<\/span> <span class=\"n\">j<\/span> <span class=\"kt\">int<\/span><span class=\"p\">)<\/span> <span class=\"kt\">bool<\/span> <span class=\"p\">{<\/span>\n        <span class=\"k\">return<\/span> <span class=\"n\">people<\/span><span class=\"p\">[<\/span><span class=\"n\">i<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">Age<\/span> <span class=\"o\">&lt;<\/span> <span class=\"n\">people<\/span><span class=\"p\">[<\/span><span class=\"n\">j<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">Age<\/span> <span class=\"c\">\/\/ increasing age<\/span>\n    <span class=\"p\">})<\/span>\n\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Println<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Sorted by Age:\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">people<\/span><span class=\"p\">)<\/span>\n\n    <span class=\"c\">\/\/ Sort by name (alphabetical)<\/span>\n    <span class=\"n\">sort<\/span><span class=\"o\">.<\/span><span class=\"n\">Slice<\/span><span class=\"p\">(<\/span><span class=\"n\">people<\/span><span class=\"p\">,<\/span> <span class=\"k\">func<\/span><span class=\"p\">(<\/span><span class=\"n\">i<\/span><span class=\"p\">,<\/span> <span class=\"n\">j<\/span> <span class=\"kt\">int<\/span><span class=\"p\">)<\/span> <span class=\"kt\">bool<\/span> <span class=\"p\">{<\/span>\n        <span class=\"k\">return<\/span> <span class=\"n\">people<\/span><span class=\"p\">[<\/span><span class=\"n\">i<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">Name<\/span> <span class=\"o\">&lt;<\/span> <span class=\"n\">people<\/span><span class=\"p\">[<\/span><span class=\"n\">j<\/span><span class=\"p\">]<\/span><span class=\"o\">.<\/span><span class=\"n\">Name<\/span>\n    <span class=\"p\">})<\/span>\n\n    <span class=\"n\">fmt<\/span><span class=\"o\">.<\/span><span class=\"n\">Println<\/span><span class=\"p\">(<\/span><span class=\"s\">\"Sorted by Name:\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">people<\/span><span class=\"p\">)<\/span>\n<span class=\"p\">}<\/span>\n<\/code><\/pre>\n<\/div>\n<p>\u0645\u0647\u0645 \u0646\u06cc\u0633\u062a \u06a9\u0647 \u0633\u0627\u062e\u062a\u0627\u0631 \u062f\u0627\u062f\u0647\u200c\u0647\u0627\u06cc \u0634\u0645\u0627 \u0686\u0642\u062f\u0631 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0627\u0633\u062a\u060c sort.Slice \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc\u200c\u062f\u0647\u062f \u0622\u0646\u200c\u0647\u0627 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0634\u06cc \u0634\u062e\u0635\u06cc\u200c\u0633\u0627\u0632\u06cc \u0634\u062f\u0647 \u0645\u0631\u062a\u0628 \u06a9\u0646\u06cc\u062f\u060c \u0641\u0642\u0637 \u0628\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u0639\u0645\u0644\u06a9\u0631\u062f\u06cc \u06a9\u0647 \u062f\u0648 \u0645\u0648\u0631\u062f \u0631\u0627 \u0628\u0627 \u0647\u0645 \u0645\u0642\u0627\u06cc\u0633\u0647 \u0645\u06cc\u200c\u06a9\u0646\u062f. \u0627\u06cc\u0646 \u0627\u0645\u0631 \u0632\u0646\u062f\u06af\u06cc \u0631\u0627 \u062a\u0627 \u062d\u062f \u0632\u06cc\u0627\u062f\u06cc \u0633\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f \u0648 \u0627\u0632 \u0646\u06cc\u0627\u0632 \u0628\u0647 \u0627\u062c\u0631\u0627\u06cc \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u0647\u0627\u06cc \u0645\u0631\u062a\u0628 \u0633\u0627\u0632\u06cc \u0627\u0632 \u0627\u0628\u062a\u062f\u0627 \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0645\u06cc \u06a9\u0646\u062f.<\/p>\n<p>\u0647\u06a9 \u0645\u0628\u0627\u0631\u06a9\u060c Gophers! \ud83e\uddab<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Summarize this content to 400 words in Persian Lang Go \u0645\u0627\u0646\u0646\u062f \u0622\u0646 \u062f\u0648\u0633\u062a\u06cc \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f \u0641\u0648\u0642 \u0627\u0644\u0639\u0627\u062f\u0647 \u0633\u0631\u062f \u0627\u0633\u062a \u0627\u0645\u0627 \u0627\u0633\u062a\u0639\u062f\u0627\u062f\u0647\u0627\u06cc \u0634\u06af\u0641\u062a \u0627\u0646\u06af\u06cc\u0632\u06cc \u062f\u0631 \u0622\u0633\u062a\u06cc\u0646 \u062e\u0648\u062f \u062f\u0627\u0631\u062f. \u062f\u0631 \u0638\u0627\u0647\u0631 \u0633\u0627\u062f\u0647 \u0628\u0647 \u0646\u0638\u0631 \u0645\u06cc \u0631\u0633\u062f\u060c \u0627\u0645\u0627 \u0686\u06cc\u0632\u0647\u0627\u06cc \u0632\u06cc\u0627\u062f\u06cc \u0628\u0631\u0627\u06cc \u0628\u0627\u0632 \u06a9\u0631\u062f\u0646 \u0648\u062c\u0648\u062f \u062f\u0627\u0631\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646\u060c \u0628\u06cc\u0627\u06cc\u06cc\u062f \u0628\u0647 \u062f\u0647 \u062a\u0631\u0641\u0646\u062f Go \u0628\u0631\u0648\u06cc\u0645 \u06a9\u0647 \u0647\u0631 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-82120","post","type-post","status-publish","format-standard","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/82120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=82120"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/82120\/revisions"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=82120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=82120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=82120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}