1. Задача: Проанализировать поведение слайсов
package main
import "fmt"
func main() {
a := []string{"a", "b", "c"}
fmt.Println(a)
f(a)
fmt.Println(a)
g(a)
fmt.Println(a)
}
func f(s []string) {
s[0] = "x"
}
func g(s []string) {
s[0] = append(s, "y")
}2. Задача: Проанализировать работу с неинициализированным каналом
package main
import (
"fmt"
"time"
)
func main() {
var ch chan int
for i := 0; i < 3; i++ {
go func(idx int) {
ch <- (idx + 1) * 2
}(idx)
}
fmt.Println("result:", <-ch)
time.Sleep(2 * time.Second)
}3. Задача: Проанализировать сериализацию структуры
package main
import (
"encoding/json"
"fmt"
)
type MyData struct {
One int `json:"one"`
two string `json:"two"`…